Files

34 lines
875 B
C#

using ItWorx.KnowledgeHub.Domain.Identity;
namespace ItWorx.KnowledgeHub.Domain.Tests;
public sealed class EmailAddressTests
{
[Fact]
public void Create_normalizes_case_and_whitespace()
{
var email = EmailAddress.Create(" Owner@ItWorx.Example ");
Assert.Equal("owner@itworx.example", email.Value);
}
[Theory]
[InlineData("")]
[InlineData("not-an-email")]
[InlineData("missing-domain@")]
[InlineData("@missing-local.example")]
public void Create_rejects_invalid_shapes(string value)
{
Assert.Throws<ArgumentException>(() => EmailAddress.Create(value));
}
[Fact]
public void TryCreate_returns_false_instead_of_throwing()
{
var succeeded = EmailAddress.TryCreate("not-an-email", out var emailAddress);
Assert.False(succeeded);
Assert.Null(emailAddress);
}
}