Tests/Unit/Private/New-SCAQueryString.Tests.ps1
|
Import-Module (Join-Path $PSScriptRoot '../../../psSCA.psd1') -Force Describe 'New-SCAQueryString' { InModuleScope psSCA { It 'returns an empty string for no parameters' { New-SCAQueryString -Parameters @{} | Should -Be '' } It 'builds a query string from scalar values' { $result = New-SCAQueryString -Parameters @{ status = 'Pending' } $result | Should -Be 'status=Pending' } It 'omits keys with null, empty string, or empty array values' { $result = New-SCAQueryString -Parameters @{ status = 'Pending' note = $null blank = '' tags = @() } $result | Should -Be 'status=Pending' } It 'URL-encodes keys and values' { $result = New-SCAQueryString -Parameters @{ 'a b' = 'c&d' } $result | Should -Be 'a%20b=c%26d' } It 'emits repeated key=value pairs for array values' { $result = New-SCAQueryString -Parameters @{ status = @('Pending', 'Approved') } $result | Should -Be 'status=Pending&status=Approved' } } } |