Tests/Get-ARMparameter.Tests.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
#$here = Split-Path -Parent $MyInvocation.MyCommand.Path #$sut = (Split-Path -Leaf $MyInvocation.MyCommand.Path) -replace '\.Tests\.', '.' #. "$here\$sut" #Import-Module "C:\Users\tore\Dropbox\SourceTreeRepros\PoshARM\PoshARM.psd1" $modulePath = Split-Path $PSScriptRoot -Parent $modulepath = Join-Path -Path $modulePath -ChildPath posharm.psd1 Import-Module $modulePath Describe "Get-ARMparameter" { New-ArmTemplate $expected1 = @{ Name = "Param1" Type = "string" } $expected2 = @{ Name = "Param2" Type = "int" } New-ARMparameter @expected1 | Add-ARMparameter New-ARMparameter @expected2 | Add-ARMparameter $actual1 = Get-ARMparameter -Name param1 $actual2 = Get-ARMparameter -Name param2 It "Should return all parameters if no name is provided" { ((Get-ARMparameter).PSobject.Properties | Measure-Object).Count | Should be 2 } It "Parameter object 1 should not be `$null" { $actual1 | Should not be $null } It "Parameter object 1 should have a property named [$($expected1.Name)]" { $actual1.($expected1.Name) | Should not be $null } It "Parameter object 2 should not be `$null" { $actual2 | Should not be $null } It "Parameter object 2 should have a property named [$($expected2.Name)]" { $actual2.($expected2.Name) | Should not be $null } $name = $expected1.Name $actualObj = $actual1.$name It "'$name' should have a property Type [$($expected1.type)]" { $actualObj.Type | Should be $expected1.Type } $name = $expected2.Name $actualObj = $actual2.$name It "'$name' should have a property Type [$($expected2.type)]" { $actualObj.Type | Should be $expected2.Type } } |