Tests/Unit/Public/Policies/New-SCAAccessPolicy.Tests.ps1

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

Describe 'New-SCAAccessPolicy' {
    InModuleScope psSCA {
        It 'posts the policy document to /policies' {
            Mock Invoke-SCARequest { }

            New-SCAAccessPolicy -InputObject @{ name = 'Test Policy' } -Confirm:$false | Out-Null

            Should -Invoke Invoke-SCARequest -ParameterFilter {
                $Service -eq 'UAP' -and $Method -eq 'POST' -and $Path -eq '/policies' -and $Body['name'] -eq 'Test Policy'
            }
        }

        It 'does not call Invoke-SCARequest when -WhatIf is specified' {
            Mock Invoke-SCARequest { }

            New-SCAAccessPolicy -InputObject @{ name = 'Test Policy' } -WhatIf | Out-Null

            Should -Invoke Invoke-SCARequest -Times 0 -Exactly
        }
    }
}