58 lines
2.0 KiB
C#
58 lines
2.0 KiB
C#
using TwoFromTheCaseContracts.DataModels;
|
|
using TwoFromTheCaseContracts.Exceptions;
|
|
|
|
namespace TwoFromTheCaseTests.DataModelsTests;
|
|
|
|
[TestFixture]
|
|
class WorkerWorkDataModelTests
|
|
{
|
|
[Test]
|
|
public void WorkerIdIsNullOrEmptyTest()
|
|
{
|
|
var workerWork = CreateDataModel(null, Guid.NewGuid().ToString());
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
workerWork = CreateDataModel(string.Empty, Guid.NewGuid().ToString());
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void WorkerIdIsNotGuidTest()
|
|
{
|
|
var workerWork = CreateDataModel("workerId", Guid.NewGuid().ToString());
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void WorkIdIsNullOrEmptyTest()
|
|
{
|
|
var workerWork = CreateDataModel(Guid.NewGuid().ToString(), null);
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
workerWork = CreateDataModel(string.Empty, Guid.NewGuid().ToString());
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void WorkIdIsNotGuidTest()
|
|
{
|
|
var workerWork = CreateDataModel(Guid.NewGuid().ToString(), "workId");
|
|
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
|
}
|
|
|
|
[Test]
|
|
public void AllFieldsIsCorrectTest()
|
|
{
|
|
var workerId = Guid.NewGuid().ToString();
|
|
var workId = Guid.NewGuid().ToString();
|
|
var workerWork = CreateDataModel(workerId, workId);
|
|
Assert.That(() => workerWork.Validate(), Throws.Nothing);
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(workerWork.WorkerId, Is.EqualTo(workerId));
|
|
Assert.That(workerWork.WorkId, Is.EqualTo(workId));
|
|
});
|
|
}
|
|
|
|
private static WorkerWorkDataModel CreateDataModel(string? workerId, string? workId) =>
|
|
new(workerId, workId);
|
|
}
|