Tests/GenXdev.Data.Preferences/Remove-GenXdevPreference.Tests.ps1
Pester\Describe 'Remove-GenXdevPreference' { Pester\BeforeAll { Remove-GenXdevPreference -Name 'TestPref1' -RemoveDefault } Pester\AfterAll { Remove-GenXdevPreference -Name 'TestPref1' -RemoveDefault } Pester\BeforeEach { Microsoft.PowerShell.Utility\Write-Verbose 'Setting up test data' Remove-GenXdevPreference -Name 'TestPref1' -RemoveDefault Set-GenXdevPreference -Name 'TestPref1' -Value 'LocalValue' Set-GenXdevDefaultPreference -Name 'TestPref1' -Value 'DefaultValue' } Pester\It 'Should remove local preference' { Remove-GenXdevPreference -Name 'TestPref1' $result = Get-GenXdevPreference -Name 'TestPref1' $result | Pester\Should -Be 'DefaultValue' # Falls back to default } Pester\It 'Should remove both local and default preferences with -RemoveDefault' { Remove-GenXdevPreference -Name 'TestPref1' -RemoveDefault $result = Get-GenXdevPreference -Name 'TestPref1' $result | Pester\Should -BeNullOrEmpty } Pester\It 'Should not error when removing non-existent preference' { { Remove-GenXdevPreference -Name 'NonExistent' } | Pester\Should -Not -Throw } } |