57 lines
2.1 KiB
C#
57 lines
2.1 KiB
C#
using SoftwareInstallationContracts.DataModels;
|
|
using SoftwareInstallationContracts.Exceptions;
|
|
|
|
namespace SoftwareInstallationTests.DataModelsTests;
|
|
|
|
[TestFixture]
|
|
internal class CompanyDataModelTests
|
|
{
|
|
private CompanyDataModel company;
|
|
|
|
[Test]
|
|
public void IdIsNullEmptyTest()
|
|
{
|
|
company = CreateDataModel(null, "name");
|
|
Assert.That(() => company.Validate(), Throws.TypeOf<ValidationFieldException>());
|
|
company = CreateDataModel(string.Empty, "name");
|
|
Assert.That(() => company.Validate(), Throws.TypeOf<ValidationFieldException>());
|
|
}
|
|
|
|
[Test]
|
|
public void IdIsNotGuidTest()
|
|
{
|
|
company = CreateDataModel("id", "name");
|
|
Assert.That(() => company.Validate(), Throws.TypeOf<ValidationFieldException>());
|
|
}
|
|
|
|
[Test]
|
|
public void companyNameIsNullOrEmptyTest()
|
|
{
|
|
company = CreateDataModel(Guid.NewGuid().ToString(), null);
|
|
Assert.That(() => company.Validate(), Throws.TypeOf<ValidationFieldException>());
|
|
company = CreateDataModel(Guid.NewGuid().ToString(), string.Empty);
|
|
Assert.That(() => company.Validate(), Throws.TypeOf<ValidationFieldException>());
|
|
}
|
|
|
|
[Test]
|
|
public void AllFieldsIsCorrectTest()
|
|
{
|
|
string companyId = Guid.NewGuid().ToString();
|
|
string companyName = "name";
|
|
string prevcompanyName = "prevcompanyName";
|
|
string prevPrevcompanyName = "prevPrevcompanyName";
|
|
company = CreateDataModel(companyId, companyName, prevcompanyName, prevPrevcompanyName);
|
|
Assert.That(() => company.Validate(), Throws.Nothing);
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(company.Id, Is.EqualTo(companyId));
|
|
Assert.That(company.CompanyName, Is.EqualTo(companyName));
|
|
Assert.That(company.PrevCompanyName, Is.EqualTo(prevcompanyName));
|
|
Assert.That(company.PrevPrevCompanyName, Is.EqualTo(prevPrevcompanyName));
|
|
});
|
|
}
|
|
|
|
private static CompanyDataModel CreateDataModel(string? id, string? companyName, string? prevcompanyName = null,
|
|
string? prevPrevcompanyName = null) => new(id, companyName, prevcompanyName, prevPrevcompanyName);
|
|
}
|