59 lines
2.3 KiB
C#
59 lines
2.3 KiB
C#
using NorthBridgeContracts.DataModels;
|
|
using NorthBridgeContracts.Exceptions;
|
|
|
|
namespace NorthBridgeTests.DataModelsTests;
|
|
|
|
[TestFixture]
|
|
internal class ManufacturerDataModelTests
|
|
{
|
|
[Test]
|
|
public void IdIsNullOrEmptyTest()
|
|
{
|
|
var manufacturer = CreateDataModel(null, "ManufacturerName");
|
|
Assert.That(() => manufacturer.Validate(), Throws.TypeOf<ValidationException>());
|
|
|
|
manufacturer = CreateDataModel(string.Empty, "ManufacturerName");
|
|
Assert.That(() => manufacturer.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void IdIsNotGuidTest()
|
|
{
|
|
var manufacturer = CreateDataModel("not-a-guid", "ManufacturerName");
|
|
Assert.That(() => manufacturer.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void ManufacturerNameIsNullOrEmptyTest()
|
|
{
|
|
var manufacturer = CreateDataModel(Guid.NewGuid().ToString(), null);
|
|
Assert.That(() => manufacturer.Validate(), Throws.TypeOf<ValidationException>());
|
|
|
|
manufacturer = CreateDataModel(Guid.NewGuid().ToString(), string.Empty);
|
|
Assert.That(() => manufacturer.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void AllFieldsAreCorrectTest()
|
|
{
|
|
var manufacturerId = Guid.NewGuid().ToString();
|
|
var manufacturerName = "ManufacturerName";
|
|
var prevManufacturerName = "PrevManufacturerName";
|
|
var prevPrevManufacturerName = "PrevPrevManufacturerName";
|
|
|
|
var manufacturer = CreateDataModel(manufacturerId, manufacturerName, prevManufacturerName, prevPrevManufacturerName);
|
|
|
|
Assert.That(() => manufacturer.Validate(), Throws.Nothing);
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(manufacturer.Id, Is.EqualTo(manufacturerId));
|
|
Assert.That(manufacturer.ManufacturerName, Is.EqualTo(manufacturerName));
|
|
Assert.That(manufacturer.PrevManufacturerName, Is.EqualTo(prevManufacturerName));
|
|
Assert.That(manufacturer.PrevPrevManufacturerName, Is.EqualTo(prevPrevManufacturerName));
|
|
});
|
|
}
|
|
|
|
private static ManufacturerDataModel CreateDataModel(string? id, string? manufacturerName, string? prevManufacturerName = null, string? prevPrevManufacturerName = null) =>
|
|
new(id, manufacturerName, prevManufacturerName, prevPrevManufacturerName);
|
|
}
|