tests/BykaCCSupervisor.Manifest.Tests.ps1

# Pester tests for the BykaCCSupervisor module manifest.
#
# Run with:
# pwsh -NoProfile -Command "Invoke-Pester -Path packages/byka-cc-supervisor/tests -Output Detailed"

BeforeAll {
    $script:ManifestPath = Join-Path $PSScriptRoot '..' 'BykaCCSupervisor.psd1'
}

Describe 'BykaCCSupervisor manifest' {

    It 'parses via Test-ModuleManifest without errors' {
        { Test-ModuleManifest -Path $script:ManifestPath -ErrorAction Stop } | Should -Not -Throw
    }

    It 'exports Start-BykaCCSupervisor + New-BykaCCSupervisorLauncher' {
        $m = Test-ModuleManifest -Path $script:ManifestPath
        $m.ExportedFunctions.Keys | Should -Contain 'Start-BykaCCSupervisor'
        $m.ExportedFunctions.Keys | Should -Contain 'New-BykaCCSupervisorLauncher'
    }

    It 'has ModuleVersion 1.0.0' {
        (Test-ModuleManifest -Path $script:ManifestPath).Version.ToString() | Should -Be '1.0.0'
    }

    It 'requires PowerShell 7.0 or newer' {
        (Test-ModuleManifest -Path $script:ManifestPath).PowerShellVersion.Major | Should -BeGreaterOrEqual 7
    }
}