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