Готовая ЛР №1

This commit is contained in:
Павел Ладягин 2025-02-13 12:51:51 +04:00
parent fa7a9e990e
commit ffb5ac4e3c
11 changed files with 265 additions and 142 deletions

View File

@ -1,5 +1,4 @@

using PimpMyRideContracts.Enums;
using PimpMyRideContracts.Enums;
using PimpMyRideContracts.Exceptions;
using PimpMyRideContracts.Extensions;
using PimpMyRideContracts.Infrastructure;

View File

@ -0,0 +1,35 @@
using PimpMyRideContracts.Enums;
using PimpMyRideContracts.Extensions;
using PimpMyRideContracts.Infrastructure;
using PimpMyRideContracts.Exceptions;
namespace PimpMyRideContracts.DataModels;
public class PostDataModel(string postId, string postName, PostType postType, double salary, bool isActual, DateTime changeDate) : IValidation
{
public string PostId { get; private set; } = postId;
public string PostName { get; private set; } = postName;
public PostType PostType { get; private set; } = postType;
public double Salary { get; private set; } = salary;
public bool IsActual { get; private set; } = isActual;
public DateTime ChangeDate { get; private set; } = changeDate;
public void Validate()
{
if (PostId.IsEmpty())
throw new ValidationException("Field Id is empty");
if (!PostId.IsGuid())
throw new ValidationException("The value in the field Id is not a unique identifier");
if (PostName.IsEmpty())
throw new ValidationException("Field PostName is empty");
if (PostType == PostType.None)
throw new ValidationException("Field PostType is empty");
if (Salary <= 0)
throw new ValidationException("Field Salary is empty");
}
}

View File

@ -0,0 +1,26 @@
using PimpMyRideContracts.Exceptions;
using PimpMyRideContracts.Extensions;
using PimpMyRideContracts.Infrastructure;
namespace PimpMyRideContracts.DataModels;
public class SalaryDataModell(string workerId, DateTime salaryDate, double workerSalary) : IValidation
{
public string WorkerId { get; private set; } = workerId;
public DateTime SalaryDate { get; private set; } = salaryDate;
public double Salary { get; private set; } = workerSalary;
public void Validate()
{
if (WorkerId.IsEmpty())
throw new ValidationException("Field WorkerId is empty");
if (!WorkerId.IsGuid())
throw new ValidationException("The value in the field WorkerId is not a unique identifier");
if (Salary <= 0)
throw new ValidationException("Field Salary is less than or equal to 0");
}
}

View File

@ -4,12 +4,12 @@ using PimpMyRideContracts.Infrastructure;
namespace PimpMyRideContracts.DataModels;
public class ServiceDataModel(string serviceId, string workerId, string carId, List<ServiceOperationDataModel> operations) : IValidation
public class ServiceDataModel(string serviceId, string workerId, string carId, string operationId) : IValidation
{
public string ServiceId { get; private set; } = serviceId;
public string WorkerId { get; private set; } = workerId;
public string CarId { get; private set; } = carId;
public List<ServiceOperationDataModel> Operations { get; private set; } = operations;
public string OperationId { get; private set; } = operationId;
public void Validate()
{
@ -31,7 +31,10 @@ public class ServiceDataModel(string serviceId, string workerId, string carId, L
if (!CarId.IsGuid())
throw new ValidationException("The value in the field CarId is not a unique identifier");
if ((Operations?.Count ?? 0) == 0)
throw new ValidationException("The service must include operations");
if (OperationId.IsEmpty())
throw new ValidationException("Field OperationId is empty");
if (!OperationId.IsGuid())
throw new ValidationException("The value in the field OperationId is not a unique identifier");
}
}

View File

@ -1,26 +0,0 @@
using PimpMyRideContracts.Exceptions;
using PimpMyRideContracts.Extensions;
using PimpMyRideContracts.Infrastructure;
namespace PimpMyRideContracts.DataModels;
public class ServiceOperationDataModel(string serviceId, string operationId) : IValidation
{
public string ServiceId { get; private set; } = serviceId;
public string OperationId { get; private set; } = operationId;
public void Validate()
{
if(OperationId.IsEmpty())
throw new ValidationException("Field OperationId is empty");
if (!OperationId.IsGuid())
throw new ValidationException("The value in the field OperationId is not a unique identifier");
if(ServiceId.IsEmpty())
throw new ValidationException("Field ServiceId is empty");
if (!ServiceId.IsGuid())
throw new ValidationException("The value in the field ServiceId is not a unique identifier");
}
}

View File

@ -1,15 +1,14 @@
using PimpMyRideContracts.Enums;
using PimpMyRideContracts.Exceptions;
using PimpMyRideContracts.Exceptions;
using PimpMyRideContracts.Extensions;
using PimpMyRideContracts.Infrastructure;
namespace PimpMyRideContracts.DataModels;
public class WorkerDataModel(string workerId, string workerFIO, PostType postType, DateTime birthDate, DateTime employmentDate, bool isDeleted) : IValidation
public class WorkerDataModel(string workerId, string postId, string workerFIO, DateTime birthDate, DateTime employmentDate, bool isDeleted) : IValidation
{
public string WorkerId { get; private set; } = workerId;
public string WorkerFIO { get; private set; } = workerFIO;
public PostType PostType { get; private set; } = postType;
public string PostId { get; private set; } = postId;
public string WorkerFIO { get; private set; } = workerFIO;
public DateTime BirthDate { get; private set; } = birthDate;
public DateTime EmploymentDate { get; private set; } = employmentDate;
public bool IsDeleted { get; private set; } = isDeleted;
@ -22,12 +21,15 @@ public class WorkerDataModel(string workerId, string workerFIO, PostType postTyp
if (!WorkerId.IsGuid())
throw new ValidationException("The value in the field WorkerId is not a unique identifier");
if (PostId.IsEmpty())
throw new ValidationException("Field PostId is empty");
if (!PostId.IsGuid())
throw new ValidationException("The value in the field PostId is not a unique identifier");
if (WorkerFIO.IsEmpty())
throw new ValidationException("Field WorkerFIO is empty");
if (PostType == PostType.None)
throw new ValidationException("Field PostType is empty");
if (BirthDate.Date > DateTime.Now.AddYears(-16).Date)
throw new ValidationException("The date of employment cannot be less than the date of birth");

View File

@ -0,0 +1,78 @@
using PimpMyRideContracts.DataModels;
using PimpMyRideContracts.Enums;
using PimpMyRideContracts.Exceptions;
namespace PimpMyRideTests.DataModelsTests;
[TestFixture]
internal class PostDataModelTest
{
[Test]
public void PostIdIsNullOrEmptyTest()
{
var post = CreateDataModel(null, "name", PostType.CarElectrician, 10, true, DateTime.UtcNow);
Assert.That(() => post.Validate(), Throws.TypeOf<ValidationException>());
post = CreateDataModel(string.Empty, "name", PostType.CarElectrician, 10, true, DateTime.UtcNow);
Assert.That(() => post.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void PostIdIsNotGuidTest()
{
var post = CreateDataModel("id", "name", PostType.CarElectrician, 10, true, DateTime.UtcNow);
Assert.That(() => post.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void PostNameIsEmptyTest()
{
var post = CreateDataModel(Guid.NewGuid().ToString(), null, PostType.CarElectrician, 10, true, DateTime.UtcNow);
Assert.That(() => post.Validate(), Throws.TypeOf<ValidationException>());
post = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, PostType.CarElectrician, 10, true, DateTime.UtcNow);
Assert.That(() => post.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void PostTypeIsNoneTest()
{
var post = CreateDataModel(Guid.NewGuid().ToString(), "name", PostType.None, 10, true, DateTime.UtcNow);
Assert.That(() => post.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void SalaryIsLessOrZeroTest()
{
var post = CreateDataModel(Guid.NewGuid().ToString(), "name", PostType.CarElectrician, 0, true, DateTime.UtcNow);
Assert.That(() => post.Validate(), Throws.TypeOf<ValidationException>());
post = CreateDataModel(Guid.NewGuid().ToString(), "name", PostType.CarElectrician, -10, true, DateTime.UtcNow);
Assert.That(() => post.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void AllFieldsIsCorrectTest()
{
var postId = Guid.NewGuid().ToString();
var postName = "name";
var postType = PostType.CarElectrician;
var salary = 10;
var isActual = false;
var changeDate = DateTime.UtcNow.AddDays(-1);
var post = CreateDataModel(postId, postName, postType, salary, isActual, changeDate);
Assert.That(() => post.Validate(), Throws.Nothing);
Assert.Multiple(() =>
{
Assert.That(post.PostId, Is.EqualTo(postId));
Assert.That(post.PostName, Is.EqualTo(postName));
Assert.That(post.PostType, Is.EqualTo(postType));
Assert.That(post.Salary, Is.EqualTo(salary));
Assert.That(post.IsActual, Is.EqualTo(isActual));
Assert.That(post.ChangeDate, Is.EqualTo(changeDate));
});
}
private static PostDataModel CreateDataModel(string? postId, string? postName, PostType postType, double salary, bool isActual, DateTime changeDate) =>
new(postId, postName, postType, salary, isActual, changeDate);
}

View File

@ -0,0 +1,55 @@
using PimpMyRideContracts.DataModels;
using PimpMyRideContracts.Exceptions;
namespace PimpMyRideTests.DataModelsTests;
[TestFixture]
internal class SalaryDataModelTest
{
[Test]
public void WorkerIdIsEmptyTest()
{
var salary = CreateDataModel(null, DateTime.Now, 10);
Assert.That(() => salary.Validate(), Throws.TypeOf<ValidationException>());
salary = CreateDataModel(string.Empty, DateTime.Now, 10);
Assert.That(() => salary.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void WorkerIdIsNotGuidTest()
{
var salary = CreateDataModel("workerId", DateTime.Now, 10);
Assert.That(() => salary.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void SalaryIsLessOrZeroTest()
{
var salary = CreateDataModel(Guid.NewGuid().ToString(), DateTime.Now, 0);
Assert.That(() => salary.Validate(), Throws.TypeOf<ValidationException>());
salary = CreateDataModel(Guid.NewGuid().ToString(), DateTime.Now, -10);
Assert.That(() => salary.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void AllFieldsIsCorrectTest()
{
var workerId = Guid.NewGuid().ToString();
var salaryDate = DateTime.Now.AddDays(-3).AddMinutes(-5);
var salary = 10;
var workerSalary = CreateDataModel(workerId, salaryDate, salary);
Assert.That(() => workerSalary.Validate(), Throws.Nothing);
Assert.Multiple(() =>
{
Assert.That(workerSalary.WorkerId, Is.EqualTo(workerId));
Assert.That(workerSalary.SalaryDate, Is.EqualTo(salaryDate));
Assert.That(workerSalary.Salary, Is.EqualTo(salary));
});
}
private static SalaryDataModell CreateDataModel(string? workerId, DateTime salaryDate, double salary) =>
new(workerId, salaryDate, salary);
}

View File

@ -10,62 +10,68 @@ internal class ServiceDataModelTest
[Test]
public void ServiceIdIsNullOrEmptyTest()
{
var service = CreateDataModel(null, Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), CreateSubDataModel());
var service = CreateDataModel(null, Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
service = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), CreateSubDataModel());
service = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void ServiceIdIsNotGuidTest()
{
var service = CreateDataModel("id", Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), CreateSubDataModel());
var service = CreateDataModel("id", Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void WorkerIdIsNullOrEmptyTest()
{
var service = CreateDataModel(Guid.NewGuid().ToString(), null, Guid.NewGuid().ToString(), CreateSubDataModel());
var service = CreateDataModel(Guid.NewGuid().ToString(), null, Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
service = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, Guid.NewGuid().ToString(), CreateSubDataModel());
service = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void WorkerIdIsNotGuidTest()
{
var service = CreateDataModel(Guid.NewGuid().ToString(), "id", Guid.NewGuid().ToString(), CreateSubDataModel());
var service = CreateDataModel(Guid.NewGuid().ToString(), "id", Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void CarIdIsNullOrEmptyTest()
{
var service = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), null, CreateSubDataModel());
var service = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), null, Guid.NewGuid().ToString());
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
service = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), string.Empty, CreateSubDataModel());
service = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), string.Empty, Guid.NewGuid().ToString());
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void CarIdIsNotGuidTest()
{
var service = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "id", CreateSubDataModel());
var service = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "id", Guid.NewGuid().ToString());
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void OperationsAreNullOrEmpty()
public void OperationIdIsNullOrEmptyTest()
{
var service = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), null);
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
service = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), []);
service = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), string.Empty);
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void OperationIdIsNotGuidTest()
{
var service = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "operationId");
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
}
@ -75,9 +81,9 @@ internal class ServiceDataModelTest
var serviceId = Guid.NewGuid().ToString();
var workerId = Guid.NewGuid().ToString();
var carId = Guid.NewGuid().ToString();
var operations = CreateSubDataModel();
var operationId = Guid.NewGuid().ToString();
var service = CreateDataModel(serviceId, workerId, carId, operations);
var service = CreateDataModel(serviceId, workerId, carId, operationId);
Assert.That(() => service.Validate(), Throws.Nothing);
Assert.Multiple(() =>
@ -85,13 +91,10 @@ internal class ServiceDataModelTest
Assert.That(service.ServiceId, Is.EqualTo(serviceId));
Assert.That(service.WorkerId, Is.EqualTo(workerId));
Assert.That(service.CarId, Is.EqualTo(carId));
Assert.That(service.Operations, Is.EqualTo(operations));
Assert.That(service.OperationId, Is.EqualTo(operationId));
});
}
private static ServiceDataModel CreateDataModel(string? serviceId, string? workerId, string? carId, List<ServiceOperationDataModel>? operations) =>
new(serviceId, workerId, carId, operations);
private static List<ServiceOperationDataModel> CreateSubDataModel() =>
[new(Guid.NewGuid().ToString(), Guid.NewGuid().ToString())];
private static ServiceDataModel CreateDataModel(string? serviceId, string? workerId, string? carId, string? operationId) =>
new(serviceId, workerId, carId, operationId);
}

View File

@ -1,61 +0,0 @@
using PimpMyRideContracts.Exceptions;
using PimpMyRideContracts.DataModels;
namespace PimpMyRideTests.DataModelsTests;
[TestFixture]
internal class ServiceOperationDataModelTest
{
[Test]
public void ServiceIdIsNullOrEmptyTest()
{
var service = CreateDataModel(null, Guid.NewGuid().ToString());
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
service = CreateDataModel(string.Empty, Guid.NewGuid().ToString());
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void ServiceIdIsNotGuidTest()
{
var service = CreateDataModel("id", Guid.NewGuid().ToString());
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void OperationIdIsNullOrEmptyTest()
{
var service = CreateDataModel(Guid.NewGuid().ToString(), null);
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
service = CreateDataModel(Guid.NewGuid().ToString(), string.Empty);
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void OperationIdIsNotGuidTest()
{
var service = CreateDataModel(Guid.NewGuid().ToString(), "id");
Assert.That(() => service.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void AllFieldsIsCorrectTest()
{
var serviceId = Guid.NewGuid().ToString();
var operationId = Guid.NewGuid().ToString();
var service = CreateDataModel(serviceId, operationId);
Assert.That(() => service.Validate(), Throws.Nothing);
Assert.Multiple(() =>
{
Assert.That(service.ServiceId, Is.EqualTo(serviceId));
Assert.That(service.OperationId, Is.EqualTo(operationId));
});
}
private static ServiceOperationDataModel CreateDataModel(string? serviceId, string? operationId) =>
new(serviceId, operationId);
}

View File

@ -1,6 +1,5 @@
using PimpMyRideContracts.Exceptions;
using PimpMyRideContracts.DataModels;
using PimpMyRideContracts.Enums;
namespace PimpMyRideTests.DataModelsTests;
@ -10,51 +9,61 @@ internal class WorkerDataModelTest
[Test]
public void WorkerIdIsNullOrEmptyTest()
{
var worker = CreateDataModel(null, "FIO", PostType.CarElectrician, DateTime.Now.AddYears(-18), DateTime.Now, false);
var worker = CreateDataModel(null, Guid.NewGuid().ToString(), "FIO", DateTime.Now.AddYears(-18), DateTime.Now, false);
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
worker = CreateDataModel(string.Empty, "FIO", PostType.CarElectrician, DateTime.Now.AddYears(-18), DateTime.Now, false);
worker = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), "FIO", DateTime.Now.AddYears(-18), DateTime.Now, false);
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void WorkerIdIsNotGuidTest()
{
var worker = CreateDataModel("id", "FIO", PostType.CarElectrician, DateTime.Now.AddYears(-18), DateTime.Now, false);
var worker = CreateDataModel("id", Guid.NewGuid().ToString(), "FIO", DateTime.Now.AddYears(-18), DateTime.Now, false);
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void PostIdIsNullOrEmptyTest()
{
var worker = CreateDataModel(Guid.NewGuid().ToString(), null, "FIO", DateTime.Now.AddYears(-18), DateTime.Now, false);
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
worker = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, "FIO", DateTime.Now.AddYears(-18), DateTime.Now, false);
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void PostIdIsNotGuidTest()
{
var worker = CreateDataModel(Guid.NewGuid().ToString(), "postId", "FIO", DateTime.Now.AddYears(-18), DateTime.Now, false);
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void WorkerFIOIsNullOrEmptyTest()
{
var worker = CreateDataModel(Guid.NewGuid().ToString(), null, PostType.CarElectrician, DateTime.Now.AddYears(-18), DateTime.Now, false);
var worker = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), null, DateTime.Now.AddYears(-18), DateTime.Now, false);
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
worker = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, PostType.CarElectrician, DateTime.Now.AddYears(-18), DateTime.Now, false);
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void PostTypeIsNoneTest()
{
var worker = CreateDataModel(Guid.NewGuid().ToString(), "FIO", PostType.None, DateTime.Now.AddYears(-18), DateTime.Now, false);
worker = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), string.Empty, DateTime.Now.AddYears(-18), DateTime.Now, false);
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void BirthDateIsNotCorrectTest()
{
var worker = CreateDataModel(Guid.NewGuid().ToString(), "FIO", PostType.CarElectrician, DateTime.Now.AddYears(-16).AddDays(1), DateTime.Now, false);
var worker = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "FIO", DateTime.Now.AddYears(-16).AddDays(1), DateTime.Now, false);
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void BirthDateAndEmployementDateAreNotCorrectTest()
{
var worker = CreateDataModel(Guid.NewGuid().ToString(), "FIO", PostType.CarElectrician, DateTime.Now.AddYears(-18), DateTime.Now.AddYears(-18).AddDays(-1), false);
var worker = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "FIO", DateTime.Now.AddYears(-18), DateTime.Now.AddYears(-18).AddDays(-1), false);
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
worker = CreateDataModel(Guid.NewGuid().ToString(), "FIO", PostType.CarElectrician, DateTime.Now.AddYears(-18), DateTime.Now.AddYears(-16), false);
worker = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "FIO", DateTime.Now.AddYears(-18), DateTime.Now.AddYears(-16), false);
Assert.That(() => worker.Validate(), Throws.TypeOf<ValidationException>());
}
@ -62,26 +71,26 @@ internal class WorkerDataModelTest
public void AllFieldsIsCorrectTest()
{
var workerId = Guid.NewGuid().ToString();
var postId = Guid.NewGuid().ToString();
var workerFIO = "FIO";
var postType = PostType.BodyRepairSpecialist;
var birthDate = DateTime.Now.AddYears(-16).AddDays(-1);
var employementDate = DateTime.Now;
var isDeleted = false;
var worker = CreateDataModel(workerId, workerFIO, postType, birthDate, employementDate, isDeleted);
var worker = CreateDataModel(workerId, postId, workerFIO, birthDate, employementDate, isDeleted);
Assert.That(() => worker.Validate(), Throws.Nothing);
Assert.Multiple(() =>
{
Assert.That(worker.WorkerId, Is.EqualTo(workerId));
Assert.That(worker.PostId, Is.EqualTo(postId));
Assert.That(worker.WorkerFIO, Is.EqualTo(workerFIO));
Assert.That(worker.PostType, Is.EqualTo(postType));
Assert.That(worker.BirthDate, Is.EqualTo(birthDate));
Assert.That(worker.EmploymentDate, Is.EqualTo(employementDate));
Assert.That(worker.IsDeleted, Is.EqualTo(isDeleted));
});
}
private static WorkerDataModel CreateDataModel(string? workerId, string? workerFIO, PostType postType, DateTime birthDate, DateTime employmentDate, bool isDeleted) =>
new(workerId, workerFIO, postType, birthDate, employmentDate, isDeleted);
private static WorkerDataModel CreateDataModel(string? workerId, string? postId, string? workerFIO, DateTime birthDate, DateTime employmentDate, bool isDeleted) =>
new(workerId, postId, workerFIO, birthDate, employmentDate, isDeleted);
}