Tests/GenXdev.AI.Queries/Add-ImageDirectories.Tests.ps1
# Tests for Add-ImageDirectories -SessionOnly # This test verifies that Add-ImageDirectories adds directories when using -SessionOnly Pester\Describe 'GenXdev.AI.Queries\Add-ImageDirectories (SessionOnly)' { Pester\BeforeAll { # Prepare test directory paths (these don't need to exist) $script:TestDirs = @( 'C:\TestImages\Collection1', 'C:\TestImages\Collection2' ) # Ensure clean collections for the test GenXdev.AI\Set-AIImageCollection -ImageDirectories @() -SessionOnly -Confirm:$false # Retrieve the session-only collection $result = GenXdev.AI\Get-AIImageCollection -SessionOnly # Assert both directories are present in the session-only collection $result | Pester\Should -Not -Contain $script:TestDirs[0] $result | Pester\Should -Not -Contain $script:TestDirs[1] } Pester\It 'Adds specified directories to the session-only image collection' { # Add directories using session-only mode GenXdev.AI\Add-ImageDirectories -ImageDirectories ($script:TestDirs) -SessionOnly -Confirm:$false # Retrieve the session-only collection $result = GenXdev.AI\Get-AIImageCollection -SessionOnly # Assert both directories are present in the session-only collection $result | Pester\Should -Contain $script:TestDirs[0] $result | Pester\Should -Contain $script:TestDirs[1] } Pester\It 'Does not add directories to the real (non-session) image collection when using -SessionOnly' { # Get the real (persistent) collection before adding session-only directories $realCollectionBefore = GenXdev.AI\Get-AIImageCollection # Add directories using session-only mode GenXdev.AI\Add-ImageDirectories -ImageDirectories $script:TestDirs -SessionOnly -Confirm:$false # Get the real (persistent) collection after adding session-only directories $realCollectionAfter = GenXdev.AI\Get-AIImageCollection -SkipSession # Assert the real collection is unchanged $realCollectionAfter | Pester\Should -Not -Contain $script:TestDirs[0] $realCollectionAfter | Pester\Should -Not -Contain $script:TestDirs[1] } Pester\AfterAll { # Restore both original collections to avoid side effects if ($null -ne $script:originalSessionCollection) { GenXdev.AI\Set-AIImageCollection -ImageDirectories $script:originalSessionCollection -SessionOnly -Confirm:$false } else { GenXdev.AI\Set-AIImageCollection -ImageDirectories @() -SessionOnly -Confirm:$false } if ($null -ne $script:originalRealCollection) { GenXdev.AI\Set-AIImageCollection -ImageDirectories $script:originalRealCollection -SkipSession -Confirm:$false } else { GenXdev.AI\Set-AIImageCollection -ImageDirectories @() -SkipSession -Confirm:$false } } } |