Tests/Remove-AccountOperator.Test.ps1
Describe 'Remove-AccountOperator' { BeforeAll { # Mock dependencies Mock Get-ADGroup { [PSCustomObject]@{ DistinguishedName = 'CN=Account Operators,CN=Builtin,DC=EguibarIT,DC=local' SID = 'S-1-5-32-548' } } Mock Set-AclConstructor5 { } Mock Test-IsValidDN { $true } } Context 'Input Validation' { It 'Should accept valid DN' { { Remove-AccountOperator -LDAPPath 'OU=Test,DC=EguibarIT,DC=local' -Force } | Should -Not -Throw } It 'Should process pipeline input' { 'OU=Test,DC=EguibarIT,DC=local' | Remove-AccountOperator -Force Should -Invoke Set-AclConstructor5 -Times 1 } } Context 'Error Handling' { It 'Should handle missing Account Operators group' { Mock Get-ADGroup { $null } { Remove-AccountOperator -LDAPPath 'OU=Test,DC=EguibarIT,DC=local' -Force } | Should -Throw } } } |