Tests/GenXdev.Data.Preferences/Get-GenXdevPreferenceNames.Tests.ps1
############################################################################### BeforeAll { # Clean-up & "$PSScriptRoot\Clear-TestPreferences.ps1" } AfterAll { # Clean-up & "$PSScriptRoot\Clear-TestPreferences.ps1" } ############################################################################### Describe "Get-GenXdevPreferenceNames" { BeforeEach { Write-Verbose "Preparing test preference data" & "$PSScriptRoot\Clear-TestPreferences.ps1" Set-GenXdevPreference -Name "TestPref1" -Value "LocalValue" Set-GenXdevDefaultPreference -Name "TestPref2" -Value "DefaultValue" } It "Should return all preference names from both stores" { $results = Get-GenXdevPreferenceNames $results | Should -Contain "TestPref1" $results | Should -Contain "TestPref2" } It "Should return unique names when preference exists in both stores" { Set-GenXdevPreference -name "DuplicateTest" -Value "Local" Set-GenXdevDefaultPreference -name "DuplicateTest" -Value "Default" $results = Get-GenXdevPreferenceNames ($results | Where-Object { $_ -eq "DuplicateTest" }).Count | Should -Be 1 } It "Should return empty array when no preferences exist" { & "$PSScriptRoot\Clear-TestPreferences.ps1" $results = Get-GenXdevPreferenceNames $results | Should -Not -Contain "TestPref1" $results | Should -Not -Contain "TestPref2" $results | Should -Not -Contain "Theme" $results | Should -Not -Contain "TestDefault" } } |