Tests/Get-DiaHtmlNodeTable.Tests.ps1
BeforeAll { . $PSScriptRoot\_InitializeTests.ps1 . $ProjectRoot\SRC\private\Get-DiaHTMLNodeTable.ps1 } Describe Get-DiaHTMLNodeTable { BeforeAll { $Images = @{ "Main_Logo" = "Diagrammer.png" "DomainController" = "AD_DC.png" } $DCsArray = @("Server-dc-01v", "Server-dc-02v", "Server-dc-03v", "Server-dc-04v", "Server-dc-05v", "Server-dc-06v") $HTMLMultiColumn = Get-DiaHTMLNodeTable -inputObject $DCsArray -columnSize 3 -Align 'Center' -iconType "DomainController" -MultiIcon -ImagesObj $Images $HTMLMultiColumnDebug = Get-DiaHTMLNodeTable -inputObject $DCsArray -columnSize 3 -Align 'Center' -iconType "DomainController" -MultiIcon -ImagesObj $Images -IconDebug $true $HTMLSingleColumn = Get-DiaHTMLNodeTable -inputObject $DCsArray -Align 'Center' -iconType "DomainController" -ImagesObj $Images $HTMLSingleColumnDebug = Get-DiaHTMLNodeTable -inputObject $DCsArray -Align 'Center' -iconType "DomainController" -ImagesObj $Images -IconDebug $true } It "Should return a multi column HTML table with icon image at each cell" { $HTMLMultiColumn | Should -BeExactly '<TABLE PORT="EdgeDot" border="0" cellborder="0" cellpadding="5"><TR><TD ALIGN="Center" colspan="1"><img src="AD_DC.png"/></TD><TD ALIGN="Center" colspan="1"><img src="AD_DC.png"/></TD><TD ALIGN="Center" colspan="1"><img src="AD_DC.png"/></TD></TR><TR><TD PORT="Server-dc-01v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14"><B>Server-dc-01v</B></FONT></TD><TD PORT="Server-dc-02v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14"><B>Server-dc-02v</B></FONT></TD><TD PORT="Server-dc-03v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14"><B>Server-dc-03v</B></FONT></TD></TR><TR><TD ALIGN="Center" colspan="1"><img src="AD_DC.png"/></TD><TD ALIGN="Center" colspan="1"><img src="AD_DC.png"/></TD><TD ALIGN="Center" colspan="1"><img src="AD_DC.png"/></TD></TR><TR><TD PORT="Server-dc-04v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14"><B>Server-dc-04v</B></FONT></TD><TD PORT="Server-dc-05v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14"><B>Server-dc-05v</B></FONT></TD><TD PORT="Server-dc-06v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14"><B>Server-dc-06v</B></FONT></TD></TR></TABLE>' } It "Should return a multi column HTML table with ICON text at each cell in debug mode" { $HTMLMultiColumnDebug | Should -BeExactly '<TABLE PORT="EdgeDot" COLOR="red" border="1" cellborder="1" cellpadding="5"><TR><TD ALIGN="Center" colspan="1">ICON</TD><TD ALIGN="Center" colspan="1">ICON</TD><TD ALIGN="Center" colspan="1">ICON</TD></TR><TR><TD PORT="Server-dc-01v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-01v</FONT></TD><TD PORT="Server-dc-02v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-02v</FONT></TD><TD PORT="Server-dc-03v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-03v</FONT></TD></TR><TR><TD ALIGN="Center" colspan="1">ICON</TD><TD ALIGN="Center" colspan="1">ICON</TD><TD ALIGN="Center" colspan="1">ICON</TD></TR><TR><TD PORT="Server-dc-04v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-04v</FONT></TD><TD PORT="Server-dc-05v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-05v</FONT></TD><TD PORT="Server-dc-06v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-06v</FONT></TD></TR></TABLE>' } It "Should return a single column HTML table with ICON at top cell" { $HTMLSingleColumn | Should -BeExactly '<TABLE PORT="EdgeDot" border="0" cellborder="0" cellpadding="5"><TR><TD ALIGN="Center" colspan="6"><img src="AD_DC.png"/></TD></TR><TR><TD PORT="Server-dc-01v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-01v</FONT></TD></TR><TR><TD PORT="Server-dc-02v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-02v</FONT></TD></TR><TR><TD PORT="Server-dc-03v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-03v</FONT></TD></TR><TR><TD PORT="Server-dc-04v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-04v</FONT></TD></TR><TR><TD PORT="Server-dc-05v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-05v</FONT></TD></TR><TR><TD PORT="Server-dc-06v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-06v</FONT></TD></TR></TABLE>' } It "Should return a single column HTML table with ICON at top cell in debug mode" { $HTMLSingleColumnDebug | Should -BeExactly '<TABLE PORT="EdgeDot" COLOR="red" border="1" cellborder="1" cellpadding="5"><TR><TD ALIGN="Center" colspan="6">ICON</TD></TR><TR><TD PORT="Server-dc-01v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-01v</FONT></TD></TR><TR><TD PORT="Server-dc-02v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-02v</FONT></TD></TR><TR><TD PORT="Server-dc-03v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-03v</FONT></TD></TR><TR><TD PORT="Server-dc-04v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-04v</FONT></TD></TR><TR><TD PORT="Server-dc-05v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-05v</FONT></TD></TR><TR><TD PORT="Server-dc-06v" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Server-dc-06v</FONT></TD></TR></TABLE>' } It 'Should Throw a Message' { { Get-DiaHTMLNodeTable -inputObject $DCsArray -Align 'Center' -iconType "DomainControlle" -ImagesObj $Images } | Should -Throw -ExpectedMessage 'Error: DomainControlle IconType not found in Images object' } } |