Initial commit, project structure and domain models

This commit is contained in:
2026-04-07 09:14:06 -07:00
commit 7b15086fe5
111 changed files with 19818 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
using NUnit.Framework;
using MicCheck.Api.Identities;
namespace MicCheck.Api.Tests.Unit.Identities;
[TestFixture]
public class IdentityTests
{
[Test]
public void WhenAnIdentityIsCreated_ThenCollectionsAreInitializedEmpty()
{
var identity = new Identity { Identifier = "user-123", EnvironmentId = 1 };
Assert.That(identity.Traits, Is.Empty);
Assert.That(identity.FeatureStateOverrides, Is.Empty);
}
[Test]
public void WhenAnIdentityIsCreated_ThenIdentifierAndEnvironmentIdAreSet()
{
var identity = new Identity { Identifier = "user-123", EnvironmentId = 5 };
Assert.That(identity.Identifier, Is.EqualTo("user-123"));
Assert.That(identity.EnvironmentId, Is.EqualTo(5));
}
}
[TestFixture]
public class IdentityTraitTests
{
[Test]
public void WhenAnIdentityTraitIsCreated_ThenKeyAndValueAreSet()
{
var trait = new IdentityTrait { IdentityId = 1, Key = "plan", Value = "premium" };
Assert.That(trait.Key, Is.EqualTo("plan"));
Assert.That(trait.Value, Is.EqualTo("premium"));
}
[Test]
public void WhenAnIdentityTraitValueTypeIsSet_ThenTheTypeIsStored()
{
var trait = new IdentityTrait
{
IdentityId = 1,
Key = "age",
Value = "30",
ValueType = TraitValueType.Integer
};
Assert.That(trait.ValueType, Is.EqualTo(TraitValueType.Integer));
}
[Test]
public void WhenAllTraitValueTypesAreChecked_ThenAllExpectedValuesExist()
{
var types = Enum.GetValues<TraitValueType>();
Assert.That(types, Contains.Item(TraitValueType.String));
Assert.That(types, Contains.Item(TraitValueType.Integer));
Assert.That(types, Contains.Item(TraitValueType.Float));
Assert.That(types, Contains.Item(TraitValueType.Boolean));
}
}