Functions/Test-EmailAddressValidity.Tests.ps1

describe "BitTitan.Runbooks.Common/Test-EmailAddressValidity" -Tag "module", "unit" {

    # Import the function to test
    . "$($PSScriptRoot)\Test-EmailAddressValidity.ps1"

    it -TestCases @(
        @{ emailAddress = "ValidEmail@domain.com" },
        @{ emailAddress = "valid.email@domain.com" },
        @{ emailAddress = "valid-email@domain.com" }
    ) "returns true for the valid email address '<emailAddress>'" {
        param ($emailAddress)
        Test-EmailAddressValidity $emailAddress | Should Be $true
    }

    it -TestCases @(
        @{ emailAddress = "invalidEmail.com" },
        @{ emailAddress = "invalidEmail." },
        @{ emailAddress = "invalidEmail.c" }
    ) "returns false for the invalid email address '<emailAddress>'" {
        param ($emailAddress)
        Test-EmailAddressValidity $emailAddress | Should Be $false
    }
}