30 lines
957 B
C#
30 lines
957 B
C#
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<InvalidOperationException>(() => installation.CompleteSetup(now));
|
|
}
|
|
}
|