54 lines
1.9 KiB
C#
Raw Normal View History

2025-02-08 06:23:36 +04:00
using SoftwareInstallationContracts.DataModels;
using SoftwareInstallationContracts.Exceptions;
namespace SoftwareInstallationTests.DataModelsTests;
2025-02-10 22:33:08 +04:00
[TestFixture]
2025-02-08 06:23:36 +04:00
internal class WarehouseDataModelTests
{
private WarehouseDataModel warehouse;
[Test]
public void IdIsEmptyTest()
{
2025-02-10 22:33:08 +04:00
warehouse = CreateDataModel(null, 10, DateTime.Now);
2025-02-08 06:23:36 +04:00
Assert.That(() => warehouse.Validate(), Throws.TypeOf<ValidationFieldException>());
2025-02-10 22:33:08 +04:00
warehouse = CreateDataModel(string.Empty, 10, DateTime.Now);
2025-02-08 06:23:36 +04:00
Assert.That(() => warehouse.Validate(), Throws.TypeOf<ValidationFieldException>());
}
[Test]
public void IdIsNotGuidTest()
{
2025-02-10 22:33:08 +04:00
warehouse = CreateDataModel("id", 10, DateTime.Now);
2025-02-08 06:23:36 +04:00
Assert.That(() => warehouse.Validate(), Throws.TypeOf<ValidationFieldException>());
}
[Test]
2025-02-10 22:33:08 +04:00
public void TotalCountIsLessOrZeroTest()
2025-02-08 06:23:36 +04:00
{
2025-02-10 22:33:08 +04:00
warehouse = CreateDataModel(Guid.NewGuid().ToString(), 0, DateTime.Now);
2025-02-08 06:23:36 +04:00
Assert.That(() => warehouse.Validate(), Throws.TypeOf<ValidationFieldException>());
2025-02-10 22:33:08 +04:00
warehouse = CreateDataModel(Guid.NewGuid().ToString(), -10, DateTime.Now);
2025-02-08 06:23:36 +04:00
Assert.That(() => warehouse.Validate(), Throws.TypeOf<ValidationFieldException>());
}
[Test]
public void AllFieldsIsCorrectTest()
{
string warehouseId = Guid.NewGuid().ToString();
2025-02-10 22:33:08 +04:00
int totalCount = 10;
DateTime date = DateTime.UtcNow;
warehouse = CreateDataModel(warehouseId, totalCount, date);
2025-02-08 06:23:36 +04:00
Assert.That(() => warehouse.Validate(), Throws.Nothing);
Assert.Multiple(() =>
{
Assert.That(warehouse.Id, Is.EqualTo(warehouseId));
2025-02-10 22:33:08 +04:00
Assert.That(warehouse.TotalCount, Is.EqualTo(totalCount));
2025-02-08 06:23:36 +04:00
Assert.That(warehouse.ChangeDate, Is.EqualTo(date));
});
}
2025-02-10 22:33:08 +04:00
private static WarehouseDataModel CreateDataModel(string? id, int totalCount, DateTime date)
=> new(id, totalCount, date);
2025-02-08 06:23:36 +04:00
}