DoCli/Tests/Component/Management/ManageModuleTests.ps1
using module "..\Common\TestContext.psm1"; Describe 'ManageModuleTests' { BeforeEach { [TestContext] $script:context = [TestContext]::new(); [string] $script:moduleName = "ManageModuleTestsModule"; [string] $script:testName = "$($script:moduleName)Tests"; [string] $script:modulePath = $script:context.ComputeModulePath($script:moduleName); [string] $script:testsPath = $script:context.ComputeModuleTestPath($script:testName); $script:context.SetCurrentPathToTestProject(); } AfterEach { $script:context.ResetCurrentPath(); } it 'Creates then deletes Module' { $script:context.VerifyFiles($script:testsPath, $script:modulePath, $false, $false); doing add-module -name $script:moduleName -silent; $script:context.VerifyFiles($script:testsPath, $script:modulePath, $false, $true); [object] $projectContent = Get-Content -Path $script:context.ProjectPath | ConvertFrom-Json; [string[]] $modules = $projectContent.Modules; $modules -contains "$($script:moduleName).psm1" | Should -Be $true; [string[]] $tests = $projectContent.Tests.ModuleTests; $tests.Length | Should -Be 1; doing remove-module -name $script:moduleName -silent; $script:context.VerifyFiles($script:testsPath, $script:modulePath, $false, $false); } it 'Creates then deletes Module With Tests' { $script:context.VerifyFiles($script:testsPath, $script:modulePath, $false, $false); doing add-module -name $script:moduleName -addTests -silent; $script:context.VerifyFiles($script:testsPath, $script:modulePath, $true, $true); [object] $projectContent = Get-Content -Path $script:context.ProjectPath | ConvertFrom-Json; [string[]] $modules = $projectContent.Modules; $modules -contains "$($script:moduleName).psm1" | Should -Be $true; [string[]] $tests = $projectContent.Tests.ModuleTests; $tests -contains $script:context.ComputeLocalModuleTestPath($script:testName) | Should -Be $true; doing remove-module -name $script:moduleName -silent; $script:context.VerifyFiles($script:testsPath, $script:modulePath, $false, $false); } } |