22function TestingHelperTest_NewModuleV3_AddModule_FailCall_NewModuleManifest {
33
44 # test when failing calling dependency Microsoft PowerShell.Core/New-ModuleManifest
5-
6- $modulename = " MyModule"
75
8- # Inject depepdency
9- $module = Import-Module - Name $TESTED_MANIFEST_PATH - Prefix " LL_" - Force - PassThru
10- & $module {
11- . {
12- function script :New-MyModuleManifest {
13- [CmdletBinding ()]
14- param (
15- [Parameter (Mandatory )][string ]$Path ,
16- [Parameter (Mandatory )][string ]$RootModule
17- )
18- throw " Injected error from New-MymoduleManifest."
6+ try {
7+
8+ $modulename = " MyModule"
9+
10+ # Inject depepdency
11+ $module = Import-Module - Name $TESTED_MANIFEST_PATH - Prefix " LL_" - Force - PassThru
12+ & $module {
13+ . {
14+ function script :New-MyModuleManifest {
15+ [CmdletBinding ()]
16+ param (
17+ [Parameter (Mandatory )][string ]$Path ,
18+ [Parameter (Mandatory )][string ]$RootModule ,
19+ [Parameter (Mandatory )][string ]$PreRelease
20+ )
21+ throw " Injected error from New-MymoduleManifest."
22+ }
23+ }
1924 }
25+
26+ $result = Add-LL_ModuleV3 - Name $modulename @ErrorParameters
27+
28+ Assert-IsNull - Object $result - Comment " No module is created"
29+ Assert-IsNotNull - Object $errorVar.Exception - Comment " Error is thrown"
30+ Assert-Contains - Expected " Injected error from New-MymoduleManifest." - Presented ($errorVar.Exception.Message )
31+ Assert-ContainsPattern - Expected " Error creating the PSD1 file.*" - Presented ($errorVar.Exception.Message )
32+ }
33+ finally {
34+ # reset module
35+ Import-Module - Name $TESTED_MANIFEST_PATH - Prefix " TT_" - Force
2036 }
21- }
22-
23- $result = Add-LL_ModuleV3 - Name $modulename @ErrorParameters
24-
25- Assert-IsNull - Object $result - Comment " No module is created"
26- Assert-IsNotNull - Object $errorVar.Exception - Comment " Error is thrown"
27- Assert-Contains - Expected " Injected error from New-MymoduleManifest." - Presented ($errorVar.Exception.Message )
28- Assert-ContainsPattern - Expected " Error creating the PSD1 file.*" - Presented ($errorVar.Exception.Message )
2937
30- # reset module
31- Import-Module - Name $TESTED_MANIFEST_PATH - Prefix " TT_" - Force
3238}
3339
3440function TestingHelperTest_NewModuleV3_AddModule_DefaultManifest {
@@ -39,6 +45,8 @@ function TestingHelperTest_NewModuleV3_AddModule_DefaultManifest {
3945
4046 $defaultsManifest = Get-DefaultsManifest
4147
48+ $defaultsManifest.PrivateData.PSData.Prerelease = ' dev'
49+
4250 Assert-AreEqualPath - Expected $moduleName - Presented $result
4351
4452 Assert-AddModuleV3 - Path $moduleName - Expected $defaultsManifest
@@ -48,6 +56,7 @@ function TestingHelperTest_NewModuleV3_AddModule_MyManifest {
4856
4957 $moduleName = " MyModule"
5058
59+ # Metadata is really the posible parameters for Update-ModuleManifest
5160 $param = @ {
5261 RootModule = " MyModule.psm1"
5362 Author = " Me"
@@ -56,11 +65,28 @@ function TestingHelperTest_NewModuleV3_AddModule_MyManifest {
5665 Description = " MyDescription of the module"
5766 FunctionsToExport = @ (" MyFunction" )
5867 CopyRight = " (c) 2020 MyCompany. All rights reserved."
68+ Prerelease = " radompre"
5969 }
60-
70+
6171 $result = Add-TT_ModuleV3 - Name $moduleName - Metadata $param
6272
63- Assert-AddModuleV3 - Path $result - Expected $param
73+ $ExpectedMetadata = @ {
74+ RootModule = $param.RootModule
75+ Author = $param.Author
76+ CompanyName = $param.CompanyName
77+ ModuleVersion = $param.ModuleVersion
78+ Description = $param.Description
79+ FunctionsToExport = $param.FunctionsToExport
80+ Copyright = $param.CopyRight
81+ }
82+
83+ $ExpectedMetadata.PrivateData = @ {
84+ PSData = @ {
85+ Prerelease = $param.Prerelease
86+ }
87+ }
88+
89+ Assert-AddModuleV3 - Path $result - Expected $ExpectedMetadata
6490
6591}
6692
0 commit comments