using ItWorx.KnowledgeHub.Domain.Identity; namespace ItWorx.KnowledgeHub.Domain.Tests; public sealed class InstallationTests { [Fact] public void CreateUninitialized_has_no_completion_timestamp() { var installation = Installation.CreateUninitialized("1.0.0", "m1", "nl-BE", "Europe/Brussels"); Assert.False(installation.IsSetupComplete); Assert.Null(installation.SetupCompletedAt); Assert.Equal(Installation.SingletonId, installation.Id); } [Fact] public void CompleteSetup_can_only_happen_once() { var installation = Installation.CreateUninitialized("1.0.0", "m1", "nl-BE", "Europe/Brussels"); var now = DateTimeOffset.UtcNow; installation.CompleteSetup(now); Assert.True(installation.IsSetupComplete); Assert.Equal(now, installation.SetupCompletedAt); Assert.Throws(() => installation.CompleteSetup(now)); } }