2025-02-13 14:18:53 +04:00

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);
}