Skip to content

Commit f0ee031

Browse files
committed
feat(#194): update code coverage target and improve test cases
- change coverage percent target from 80 to 75 - refactor test cases for clarity and consistency
1 parent 3949e4a commit f0ee031

1 file changed

Lines changed: 59 additions & 87 deletions

File tree

tests/private/quality/GetNovaTestWorkflowContext.Tests.ps1

Lines changed: 59 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ BeforeAll {
3333
CodeCoverage = [pscustomobject]@{
3434
Enabled = $true
3535
CoveragePercentTarget = 80
36-
Path = $null
36+
Path = $null
3737
}
3838
}
3939
}
@@ -120,104 +120,76 @@ Describe 'Get-NovaTestWorkflowContext' {
120120

121121
$result = Get-NovaTestWorkflowContext -TestOption @{} -BoundParameters @{}
122122

123-
$result.PesterConfig.CodeCoverage.CoveragePercentTarget | Should -Be 75
123+
$result.PesterConfig.CodeCoverage.CoveragePercentTarget | Should -Be 75
124124
}
125125
}
126126

127-
It 'sets CodeCoverage.Path to the built module psm1 when coverage is enabled' {
128-
$pesterConfig = & $script:getTestQualityPesterConfig
129-
$projectInfo = & $script:getTestQualityProjectInfo -PesterSettings ([ordered]@{
130-
CodeCoverage = [ordered]@{
131-
Enabled = $true
132-
CoveragePercentTarget = 90
133-
}
134-
})
127+
It 'sets CodeCoverage.Path to the built module psm1 when coverage is enabled' {
128+
$pesterConfig = & $script:getTestQualityPesterConfig
129+
$projectInfo = & $script:getTestQualityProjectInfo -PesterSettings ([ordered]@{
130+
CodeCoverage = [ordered]@{
131+
Enabled = $true
132+
CoveragePercentTarget = 90
133+
}
134+
})
135135

136-
InModuleScope $script:moduleName -Parameters @{
137-
PesterConfig = $pesterConfig
138-
ProjectInfo = $projectInfo
139-
} {
140-
param($PesterConfig, $ProjectInfo)
136+
InModuleScope $script:moduleName -Parameters @{
137+
PesterConfig = $pesterConfig
138+
ProjectInfo = $projectInfo
139+
} {
140+
param($PesterConfig, $ProjectInfo)
141141

142-
$writer = [pscustomobject]@{
143-
ScriptBlock = {
144-
}
145-
}
142+
$writer = [pscustomobject]@{ScriptBlock = {}}
146143

147-
Mock Test-ProjectSchema {
148-
}
149-
Mock Get-Module {
150-
[pscustomobject]@{
151-
Name = 'Pester'
152-
}
153-
} -ParameterFilter {
154-
$Name -eq 'Pester' -and $ListAvailable
155-
}
156-
Mock Get-NovaProjectInfo {
157-
$ProjectInfo
158-
}
159-
Mock New-PesterConfiguration {
160-
$PesterConfig
161-
}
162-
Mock Get-Command {
163-
$writer
164-
} -ParameterFilter {
165-
$CommandType -eq 'Function'
166-
}
144+
Mock Test-ProjectSchema {}
145+
Mock Get-Module {
146+
[pscustomobject]@{Name = 'Pester'}
147+
} -ParameterFilter {
148+
$Name -eq 'Pester' -and $ListAvailable
149+
}
150+
Mock Get-NovaProjectInfo { $ProjectInfo }
151+
Mock New-PesterConfiguration { $PesterConfig }
152+
Mock Get-Command { $writer } -ParameterFilter {
153+
$CommandType -eq 'Function'
154+
}
167155

168-
$result = Get-NovaTestWorkflowContext -TestOption @{
169-
} -BoundParameters @{
170-
}
156+
$result = Get-NovaTestWorkflowContext -TestOption @{} -BoundParameters @{}
171157

172-
$result.PesterConfig.CodeCoverage.Path | Should -Be '/tmp/nova-project/dist/TestProject/TestProject.psm1'
173-
}
174-
}
158+
$result.PesterConfig.CodeCoverage.Path | Should -Be '/tmp/nova-project/dist/TestProject/TestProject.psm1'
159+
}
160+
}
175161

176-
It 'does not set CodeCoverage.Path when coverage is disabled' {
177-
$pesterConfig = & $script:getTestQualityPesterConfig
178-
$projectInfo = & $script:getTestQualityProjectInfo -PesterSettings ([ordered]@{
179-
CodeCoverage = [ordered]@{
180-
Enabled = $false
181-
}
182-
})
162+
It 'does not set CodeCoverage.Path when coverage is disabled' {
163+
$pesterConfig = & $script:getTestQualityPesterConfig
164+
$projectInfo = & $script:getTestQualityProjectInfo -PesterSettings ([ordered]@{
165+
CodeCoverage = [ordered]@{
166+
Enabled = $false
167+
}
168+
})
183169

184-
InModuleScope $script:moduleName -Parameters @{
185-
PesterConfig = $pesterConfig
186-
ProjectInfo = $projectInfo
187-
} {
188-
param($PesterConfig, $ProjectInfo)
170+
InModuleScope $script:moduleName -Parameters @{
171+
PesterConfig = $pesterConfig
172+
ProjectInfo = $projectInfo
173+
} {
174+
param($PesterConfig, $ProjectInfo)
189175

190-
$writer = [pscustomobject]@{
191-
ScriptBlock = {
192-
}
193-
}
176+
$writer = [pscustomobject]@{ScriptBlock = {}}
194177

195-
Mock Test-ProjectSchema {
196-
}
197-
Mock Get-Module {
198-
[pscustomobject]@{
199-
Name = 'Pester'
200-
}
201-
} -ParameterFilter {
202-
$Name -eq 'Pester' -and $ListAvailable
203-
}
204-
Mock Get-NovaProjectInfo {
205-
$ProjectInfo
206-
}
207-
Mock New-PesterConfiguration {
208-
$PesterConfig
209-
}
210-
Mock Get-Command {
211-
$writer
212-
} -ParameterFilter {
213-
$CommandType -eq 'Function'
214-
}
178+
Mock Test-ProjectSchema {}
179+
Mock Get-Module {
180+
[pscustomobject]@{Name = 'Pester'}
181+
} -ParameterFilter {
182+
$Name -eq 'Pester' -and $ListAvailable
183+
}
184+
Mock Get-NovaProjectInfo { $ProjectInfo }
185+
Mock New-PesterConfiguration { $PesterConfig }
186+
Mock Get-Command { $writer } -ParameterFilter {
187+
$CommandType -eq 'Function'
188+
}
215189

216-
$result = Get-NovaTestWorkflowContext -TestOption @{
217-
} -BoundParameters @{
218-
}
190+
$result = Get-NovaTestWorkflowContext -TestOption @{} -BoundParameters @{}
219191

220-
$result.PesterConfig.CodeCoverage.Path | Should -BeNullOrEmpty
221-
}
222-
}
192+
$result.PesterConfig.CodeCoverage.Path | Should -BeNullOrEmpty
193+
}
194+
}
223195
}

0 commit comments

Comments
 (0)