Tests/Unit/Public/Requests/Get-SCAAccessRequest.Tests.ps1

Import-Module (Join-Path $PSScriptRoot '../../../../psSCA.psd1') -Force

Describe 'Get-SCAAccessRequest' {
    InModuleScope psSCA {
        It 'lists requests with an optional status filter when -RequestId is omitted' {
            Mock Invoke-SCARequest { }

            Get-SCAAccessRequest -Status Pending | Out-Null

            Should -Invoke Invoke-SCARequest -ParameterFilter {
                $Path -eq '/workflows/requests' -and $QueryParameters['status'] -eq 'Pending'
            }
        }

        It 'gets a single request when -RequestId is specified' {
            Mock Invoke-SCARequest { }

            Get-SCAAccessRequest -RequestId 'req-1' | Out-Null

            Should -Invoke Invoke-SCARequest -ParameterFilter {
                $Path -eq '/workflows/requests/{requestId}' -and $PathParameters['requestId'] -eq 'req-1'
            }
        }

        It 'accepts a plain string RequestId from the pipeline' {
            Mock Invoke-SCARequest { }

            'req-2' | Get-SCAAccessRequest | Out-Null

            Should -Invoke Invoke-SCARequest -ParameterFilter { $PathParameters['requestId'] -eq 'req-2' }
        }
    }
}