@@ -12,6 +12,7 @@ Describe 'Resolve-WorkflowEventRouting' {
1212 $result.ReleaseType | Should - Be ' Release'
1313 $result.ShouldRunBuildTest | Should - BeTrue
1414 $result.ShouldCleanupEvent | Should - BeFalse
15+ $result.ShouldRunCleanup | Should - BeTrue
1516 }
1617
1718 It ' routes a direct push to the default branch to a stable release' {
@@ -62,6 +63,7 @@ Describe 'Resolve-WorkflowEventRouting' {
6263 $result.ReleaseType | Should - Be ' None'
6364 $result.ShouldRunBuildTest | Should - BeFalse
6465 $result.ShouldCleanupEvent | Should - BeTrue
66+ $result.ShouldRunCleanup | Should - BeTrue
6567 }
6668
6769 It ' does not run a label event for a closed PR' {
@@ -76,6 +78,7 @@ Describe 'Resolve-WorkflowEventRouting' {
7678 $result.IsOpenOrUpdatedPR | Should - BeFalse
7779 $result.ShouldRunBuildTest | Should - BeFalse
7880 $result.ShouldCleanupEvent | Should - BeFalse
81+ $result.ShouldRunCleanup | Should - BeFalse
7982 }
8083}
8184
@@ -148,3 +151,29 @@ Describe 'Get-FilesFromGitTree' {
148151 { Get-FilesFromGitTree - Tree $tree } | Should - Throw ' *tree response was truncated*'
149152 }
150153}
154+
155+ Describe ' Get-FilesFromGitHubComparison' {
156+ It ' returns filenames from a compare response below the file limit' {
157+ $comparison = [pscustomobject ]@ {
158+ files = @ (
159+ [pscustomobject ]@ { filename = ' src/Module.psm1' }
160+ [pscustomobject ]@ { filename = ' README.md' }
161+ )
162+ }
163+
164+ $result = Get-FilesFromGitHubComparison - Comparison $comparison
165+
166+ $result | Should - Be @ (' src/Module.psm1' , ' README.md' )
167+ }
168+
169+ It ' rejects a compare response that reaches the file limit' {
170+ $comparison = [pscustomobject ]@ {
171+ files = @ (1 .. 300 | ForEach-Object {
172+ [pscustomobject ]@ { filename = " src/File$_ .ps1" }
173+ })
174+ }
175+
176+ { Get-FilesFromGitHubComparison - Comparison $comparison } |
177+ Should - Throw ' *compare response reached its 300-file limit*'
178+ }
179+ }
0 commit comments