Functions/Compare-ActiveDirectoryGroups.Tests.ps1
describe "BitTitan.Runbooks.ActiveDirectory/Compare-ActiveDirectoryGroups" -Tag "module", "unit" { # Import the function to test . "$($PSScriptRoot)\Compare-ActiveDirectoryGroups.ps1" it "returns true for two identical groups" { # Declare the task inputs $referenceGroup = [PSCustomObject]@{ Name = "Group Name" GroupCategory = "Group Category" GroupScope = "Group Scope" Members = @( "Member 1", "Member 2" ) } $comparisonGroup = [PSCustomObject]@{ Name = "Group Name" GroupCategory = "Group Category" GroupScope = "Group Scope" Members = @( "Member 1", "Member 2" ) } # Call the function Compare-ActiveDirectoryGroups -ReferenceGroup $referenceGroup -ComparisonGroup $comparisonGroup -OutputStream "None" | Should Be $true } it "returns false for two groups with different property values" { # Declare the task inputs $referenceGroup = [PSCustomObject]@{ Name = "Group Name" GroupCategory = "Group Category" GroupScope = "Group Scope" Members = @( "Member 1", "Member 2" ) } $comparisonGroup = [PSCustomObject]@{ Name = "Group Name2" GroupCategory = "Group Category" GroupScope = "Group Scope" Members = @( "Member 1", "Member 2" ) } # Call the function Compare-ActiveDirectoryGroups -ReferenceGroup $referenceGroup -ComparisonGroup $comparisonGroup -OutputStream "None" | Should Be $false } it "returns false for two groups with different members" { # Declare the task inputs $referenceGroup = [PSCustomObject]@{ Name = "Group Name" GroupCategory = "Group Category" GroupScope = "Group Scope" Members = @( "Member 1", "Member 2" ) } $comparisonGroup = [PSCustomObject]@{ Name = "Group Name" GroupCategory = "Group Category" GroupScope = "Group Scope" Members = @( "Member 1" ) } # Call the function Compare-ActiveDirectoryGroups -ReferenceGroup $referenceGroup -ComparisonGroup $comparisonGroup -OutputStream "None" | Should Be $false } } |