Добавлены рабочие часы и дата окончания работы
This commit is contained in:
parent
e7b1cf8123
commit
a6bc98dd0a
@ -14,6 +14,8 @@ public class WorkDataModel(string id, string premisesId, double price, bool isCa
|
||||
|
||||
public DateTime StartDate { get; private set; } = DateTime.UtcNow;
|
||||
|
||||
public DateTime FinishDate { get; private set; } = DateTime.UtcNow;
|
||||
|
||||
public bool IsCancel { get; private set; } = isCancel;
|
||||
|
||||
public List<WorkerWorkDataModel> Workers { get; private set; } = workers;
|
||||
|
@ -4,12 +4,14 @@ using TwoFromTheCaseContracts.Infrastructure;
|
||||
|
||||
namespace TwoFromTheCaseContracts.DataModels;
|
||||
|
||||
public class WorkerWorkDataModel(string workerId, string workId) : IValidation
|
||||
public class WorkerWorkDataModel(string workerId, string workId, double hours) : IValidation
|
||||
{
|
||||
public string WorkerId { get; private set; } = workerId;
|
||||
|
||||
public string WorkId { get; private set; } = workId;
|
||||
|
||||
public double Hours { get; private set; } = hours;
|
||||
|
||||
public void Validate()
|
||||
{
|
||||
if (WorkerId.IsEmpty())
|
||||
@ -23,5 +25,8 @@ public class WorkerWorkDataModel(string workerId, string workId) : IValidation
|
||||
|
||||
if (!WorkId.IsGuid())
|
||||
throw new ValidationException("The value in the field WorkId is not a unique identifier");
|
||||
|
||||
if (Hours <= 0)
|
||||
throw new ValidationException("Field Hours is less than or equal to 0");
|
||||
}
|
||||
}
|
||||
|
@ -86,5 +86,5 @@ class WorkDataModelTests
|
||||
new(id, premisesId, price, isCancel, workers);
|
||||
|
||||
private static List<WorkerWorkDataModel> CreateSubDataModel()
|
||||
=> [new(Guid.NewGuid().ToString(), Guid.NewGuid().ToString())];
|
||||
=> [new(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 1)];
|
||||
}
|
||||
|
@ -9,32 +9,41 @@ class WorkerWorkDataModelTests
|
||||
[Test]
|
||||
public void WorkerIdIsNullOrEmptyTest()
|
||||
{
|
||||
var workerWork = CreateDataModel(null, Guid.NewGuid().ToString());
|
||||
var workerWork = CreateDataModel(null, Guid.NewGuid().ToString(), 10);
|
||||
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
workerWork = CreateDataModel(string.Empty, Guid.NewGuid().ToString());
|
||||
workerWork = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), 10);
|
||||
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WorkerIdIsNotGuidTest()
|
||||
{
|
||||
var workerWork = CreateDataModel("workerId", Guid.NewGuid().ToString());
|
||||
var workerWork = CreateDataModel("workerId", Guid.NewGuid().ToString(), 10);
|
||||
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WorkIdIsNullOrEmptyTest()
|
||||
{
|
||||
var workerWork = CreateDataModel(Guid.NewGuid().ToString(), null);
|
||||
var workerWork = CreateDataModel(Guid.NewGuid().ToString(), null, 10);
|
||||
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
workerWork = CreateDataModel(string.Empty, Guid.NewGuid().ToString());
|
||||
workerWork = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), 10);
|
||||
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WorkIdIsNotGuidTest()
|
||||
{
|
||||
var workerWork = CreateDataModel(Guid.NewGuid().ToString(), "workId");
|
||||
var workerWork = CreateDataModel(Guid.NewGuid().ToString(), "workId", 10);
|
||||
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void HoursIsLessOrZeroTest()
|
||||
{
|
||||
var workerWork = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 0);
|
||||
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
workerWork = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), -10);
|
||||
Assert.That(() => workerWork.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
@ -43,15 +52,17 @@ class WorkerWorkDataModelTests
|
||||
{
|
||||
var workerId = Guid.NewGuid().ToString();
|
||||
var workId = Guid.NewGuid().ToString();
|
||||
var workerWork = CreateDataModel(workerId, workId);
|
||||
var hours = 10;
|
||||
var workerWork = CreateDataModel(workerId, workId, hours);
|
||||
Assert.That(() => workerWork.Validate(), Throws.Nothing);
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(workerWork.WorkerId, Is.EqualTo(workerId));
|
||||
Assert.That(workerWork.WorkId, Is.EqualTo(workId));
|
||||
Assert.That(workerWork.Hours, Is.EqualTo(hours));
|
||||
});
|
||||
}
|
||||
|
||||
private static WorkerWorkDataModel CreateDataModel(string? workerId, string? workId) =>
|
||||
new(workerId, workId);
|
||||
private static WorkerWorkDataModel CreateDataModel(string? workerId, string? workId, double hours) =>
|
||||
new(workerId, workId, hours);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user