61 lines
2.3 KiB
C#
Raw Normal View History

using NorthBridgeContract.DataModels;
using NorthBridgeContract.Exceptions;
namespace NorthBridgeTest.DataModelsTests
{
[TestFixture]
internal class SupplyDataModelTests
{
[Test]
public void IdIsNullOrEmptyTest()
{
var supply = CreateDataModel(null, Guid.NewGuid().ToString(), DateTime.Now);
Assert.That(() => supply.Validate(), Throws.TypeOf<ValidationException>());
supply = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), DateTime.Now);
Assert.That(() => supply.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void IdIsNotGuidTest()
{
var supply = CreateDataModel("id", Guid.NewGuid().ToString(), DateTime.Now);
Assert.That(() => supply.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void StorageIdIsNullOrEmptyTest()
{
var supply = CreateDataModel(Guid.NewGuid().ToString(), null, DateTime.Now);
Assert.That(() => supply.Validate(), Throws.TypeOf<ValidationException>());
supply = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, DateTime.Now);
Assert.That(() => supply.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void StorageIdIsNotGuidTest()
{
var supply = CreateDataModel(Guid.NewGuid().ToString(), "id", DateTime.Now);
Assert.That(() => supply.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void AllFieldsAreCorrectTest()
{
var supplyId = Guid.NewGuid().ToString();
var storageId = Guid.NewGuid().ToString();
var date = DateTime.Now;
var supply = CreateDataModel(supplyId, storageId, date);
Assert.That(() => supply.Validate(), Throws.Nothing);
Assert.Multiple(() =>
{
Assert.That(supply.Id, Is.EqualTo(supplyId));
Assert.That(supply.StorageId, Is.EqualTo(storageId));
Assert.That(supply.Date, Is.EqualTo(date));
});
}
private static SupplyDataModel CreateDataModel(string? id, string? storageId, DateTime date) =>
new(id, storageId, date);
}
}