TestingHelperTest/public/Tests-New-ModuleV3.ps1
function TestingHelperTest_NewModule_UseAlias{ $result = Get-Command -Name New-TT_Module -Module TestingHelper Assert-AreEqual -Expected "Alias" -Presented $result.CommandType Assert-AreEqual -Expected "New-TT_ModuleV3" -Presented $result.Definition Assert-AreEqual -Expected "TestingHelper" -Presented $result.ModuleName } function TestingHelperTest_NewModuleV3_WithName { $moduleName = "MyModule" $result = New-TT_ModuleV3 -Name $moduleName Assert-AreEqualPath -Expected $moduleName -Presented $result Assert-AddModuleV3 -Name $moduleName -Path $moduleName } function TestingHelperTest_NewModuleV3_WithNameRemotePath { $moduleName = "MyModule" $folderName = "FolderName" $expectedPath = $folderName | Join-Path -ChildPath $moduleName $result = New-TT_ModuleV3 -Name $moduleName -Path $folderName Assert-AreEqualPath -Expected $expectedPath -Presented $result Assert-AddModuleV3 -Name $moduleName -Path $expectedPath } function TestingHelperTest_NewModuleV3_WithOutName { # Figure out the Name from folder Name and path New-TestingFolder -Name "folderName" -PassThru | Set-Location $result = New-TT_ModuleV3 @ErrorParameters Assert-IsNull -Object $result Assert-Contains -Expected "Path and Name cannot be null or empty at the same time." -Presented $errorVar.Exception.Message } function TestingHelperTest_NewModuleV3_AddTestingToModuleV3_Simple{ $moduleName = "MyModule" $path = '.' $modulePath = $path | Join-Path -ChildPath $moduleName $result = New-TT_ModuleV3 -Name $moduleName -AddTesting Assert-AreEqualPath -Expected $modulePath -Presented $result Assert-TestingV3 -Name $moduleName -Path $modulePath } function TestingHelperTest_NewModuleV3_AddModuleV3_AddTestingToModuleV3_AddSampleCode{ $moduleName = "MyModule" $path = '.' $modulePath = $path | Join-Path -ChildPath $moduleName $result = New-TT_ModuleV3 -Name $moduleName -AddTesting -AddSampleCode Assert-AreEqualPath -Expected $modulePath -Presented $result Assert-AddModuleV3 -Name $moduleName -Path $modulePath -AddSampleCode Assert-TestingV3 -Name $moduleName -Path $modulePath -AddSampleCode } function TestingHelperTest_NewModuleV3_AddDevcontainerjson{ $moduleName = "MyModule" $path = '.' $modulePath = $path | Join-Path -ChildPath $moduleName $result = New-TT_ModuleV3 -Name $moduleName -AddDevContainerJson Assert-AreEqualPath -Expected $modulePath -Presented $result Assert-AddModuleV3 -Name $moduleName -Path $modulePath -AddDevContainerJson } function TestingHelperTest_NewModuleV3_AddLICENSE{ $moduleName = "MyModule" $path = '.' $modulePath = $path | Join-Path -ChildPath $moduleName $result = New-TT_ModuleV3 -Name $moduleName -AddLicense Assert-AreEqualPath -Expected $modulePath -Presented $result Assert-AddModuleV3 -Name $moduleName -Path $modulePath -AddLicense } function TestingHelperTest_NewModuleV3_AddReadme{ $moduleName = "MyModule" $path = '.' $modulePath = $path | Join-Path -ChildPath $moduleName $result = New-TT_ModuleV3 -Name $moduleName -AddReadme Assert-AreEqualPath -Expected $modulePath -Presented $result Assert-AddModuleV3 -Name $moduleName -Path $modulePath -AddReadme } function TestingHelperTest_NewModuleV3_AddReadme_WithDescription{ $myDescription = "This is my Description" $moduleName = "MyModule" $path = '.' $modulePath = $path | Join-Path -ChildPath $moduleName $result = New-TT_ModuleV3 -Name $moduleName -AddReadme -Description $myDescription Assert-AreEqualPath -Expected $modulePath -Presented $result $readMePath = $modulePath | Join-Path -ChildPath "README.md" Assert-IsTrue -Condition ((Get-Content -Path $readMePath) -contains $myDescription) } function TestingHelperTest_NewModuleV3_AddAbout{ $moduleName = "MyModule" $path = '.' $modulePath = $path | Join-Path -ChildPath $moduleName $param = @{ Description = "This is my Description" Author = "Me" } $result = New-TT_ModuleV3 -Name $moduleName -AddAbout @param Assert-AreEqualPath -Expected $modulePath -Presented $result $moduleMonifest = Import-PowerShellDataFile -path ($modulePath | Join-Path -ChildPath "$moduleName.psd1" ) Assert-AreEqual -Expected $param.Description -Presented $moduleMonifest.Description Assert-AreEqual -Expected $param.Author -Presented $moduleMonifest.Author Assert-AreEqual -Expected "$moduleName.psm1" -Presented $moduleMonifest.RootModule $aboutContent = Get-Content -Path ($modulePath | Join-Path -ChildPath "en-US" -AdditionalChildPath "about_MyModule.help.txt") | Out-String Assert-IsTrue -Condition ($aboutContent.Contains("about_$moduleName")) Assert-IsTrue -Condition ($aboutContent.Contains($moduleMonifest.Author)) Assert-IsTrue -Condition ($aboutContent.Contains($moduleMonifest.Description)) Assert-IsTrue -Condition ($aboutContent.Contains($moduleMonifest.CopyRight)) Assert-IsTrue -Condition ($aboutContent.Contains("Powershell Testing UnitTest Module TestingHelper")) } function TestingHelperTest_NewModuleV33_AddDeployScript{ $moduleName = "MyModule" $path = '.' $modulePath = $path | Join-Path -ChildPath $moduleName $result = New-TT_ModuleV3 -Name $moduleName -AddDeployScript Assert-AreEqualPath -Expected $modulePath -Presented $result Assert-AddModuleV3 -Name $moduleName -Path $modulePath -AddDeployScript } function TestingHelperTest_NewModuleV3_AddReleaseScript{ $moduleName = "MyModule" $path = '.' $modulePath = $path | Join-Path -ChildPath $moduleName $result = New-TT_ModuleV3 -Name $moduleName -AddReleaseScript Assert-AreEqualPath -Expected $modulePath -Presented $result Assert-AddModuleV3 -Name $moduleName -Path $modulePath -AddReleaseScript } function TestingHelperTest_NewModuleV3_AddSyncScript{ $moduleName = "MyModule" $modulePath = '.' | Join-Path -ChildPath $moduleName $result = New-TT_ModuleV3 -Name $moduleName -AddSyncScript Assert-AreEqualPath -Expected $modulePath -Presented $result Assert-AddModuleV3 -Name $moduleName -Path $modulePath -AddSyncScript } function TestingHelperTest_NewModuleV3_AddPSScriptAnalyzer { $moduleName = "MyModule" $modulePath = '.' | Join-Path -ChildPath $moduleName $result = New-TT_ModuleV3 -Name $moduleName -AddPSScriptAnalyzerWorkflow Assert-AreEqualPath -Expected $modulePath -Presented $result Assert-AddModuleV3 -Name $moduleName -Path $modulePath -AddPSScriptAnalyzerWorkflow } function TestingHelperTest_NewModuleV3_AddTestingWorkflow { $moduleName = "MyModule" $modulePath = '.' | Join-Path -ChildPath $moduleName $result = New-TT_ModuleV3 -Name $moduleName -AddTestingWorkflow Assert-AreEqualPath -Expected $modulePath -Presented $result Assert-AddModuleV3 -Name $moduleName -Path $modulePath -AddTestingWorkflow } function TestingHelperTest_NewModuleV3_AddDeployWorkflow { $moduleName = "MyModule" $modulePath = '.' | Join-Path -ChildPath $moduleName $result = New-TT_ModuleV3 -Name $moduleName -AddDeployWorkflow Assert-AreEqualPath -Expected $modulePath -Presented $result Assert-AddModuleV3 -Name $moduleName -Path $modulePath -AddDeployWorkflow } |