using ItWorx.KnowledgeHub.Domain.Identity; namespace ItWorx.KnowledgeHub.Domain.Tests; public sealed class WorkspaceNameTests { [Fact] public void Create_trims_and_normalizes_the_name() { var name = WorkspaceName.Create(" ItWorx Kennisbank "); Assert.Equal("ItWorx Kennisbank", name.Value); } [Theory] [InlineData("ItWorx Kennisbank", "itworx-kennisbank")] [InlineData("École & Café", "ecole-cafe")] public void Create_derives_a_url_safe_slug(string input, string expectedSlug) { var name = WorkspaceName.Create(input); Assert.Equal(expectedSlug, name.Slug); } [Fact] public void Create_rejects_an_empty_name() { Assert.Throws(() => WorkspaceName.Create(" ")); } [Fact] public void Create_rejects_a_name_above_the_limit() { var tooLong = new string('a', WorkspaceName.MaximumLength + 1); Assert.Throws(() => WorkspaceName.Create(tooLong)); } }