From ffb5ac4e3c74efec7cd5c0fc63063cbc92610212 Mon Sep 17 00:00:00 2001 From: F1rsTTeaM Date: Thu, 13 Feb 2025 12:51:51 +0400 Subject: [PATCH] =?UTF-8?q?=D0=93=D0=BE=D1=82=D0=BE=D0=B2=D0=B0=D1=8F=20?= =?UTF-8?q?=D0=9B=D0=A0=20=E2=84=961?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataModels/OperationDataModel.cs | 3 +- .../DataModels/PostDataModel.cs | 35 +++++++++ .../DataModels/SalaryDataModel.cs | 26 +++++++ .../DataModels/ServiceDataModel.cs | 11 ++- .../DataModels/ServiceOperationDataModel.cs | 26 ------- .../DataModels/WorkerDataModel.cs | 18 +++-- .../DataModelsTests/PostDataModelTest.cs | 78 +++++++++++++++++++ .../DataModelsTests/SalaryDataModelTest.cs | 55 +++++++++++++ .../DataModelsTests/ServiceDataModelTest.cs | 43 +++++----- .../ServiceOperationDataModelTest.cs | 61 --------------- .../DataModelsTests/WorkerDataModelTest.cs | 51 +++++++----- 11 files changed, 265 insertions(+), 142 deletions(-) create mode 100644 PimpMyRideProject/PimpMyRideContracts/DataModels/PostDataModel.cs create mode 100644 PimpMyRideProject/PimpMyRideContracts/DataModels/SalaryDataModel.cs delete mode 100644 PimpMyRideProject/PimpMyRideContracts/DataModels/ServiceOperationDataModel.cs create mode 100644 PimpMyRideProject/PimpMyRideTests/DataModelsTests/PostDataModelTest.cs create mode 100644 PimpMyRideProject/PimpMyRideTests/DataModelsTests/SalaryDataModelTest.cs delete mode 100644 PimpMyRideProject/PimpMyRideTests/DataModelsTests/ServiceOperationDataModelTest.cs diff --git a/PimpMyRideProject/PimpMyRideContracts/DataModels/OperationDataModel.cs b/PimpMyRideProject/PimpMyRideContracts/DataModels/OperationDataModel.cs index 076d42b..5469a8b 100644 --- a/PimpMyRideProject/PimpMyRideContracts/DataModels/OperationDataModel.cs +++ b/PimpMyRideProject/PimpMyRideContracts/DataModels/OperationDataModel.cs @@ -1,5 +1,4 @@ - -using PimpMyRideContracts.Enums; +using PimpMyRideContracts.Enums; using PimpMyRideContracts.Exceptions; using PimpMyRideContracts.Extensions; using PimpMyRideContracts.Infrastructure; diff --git a/PimpMyRideProject/PimpMyRideContracts/DataModels/PostDataModel.cs b/PimpMyRideProject/PimpMyRideContracts/DataModels/PostDataModel.cs new file mode 100644 index 0000000..419b739 --- /dev/null +++ b/PimpMyRideProject/PimpMyRideContracts/DataModels/PostDataModel.cs @@ -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"); + } + +} diff --git a/PimpMyRideProject/PimpMyRideContracts/DataModels/SalaryDataModel.cs b/PimpMyRideProject/PimpMyRideContracts/DataModels/SalaryDataModel.cs new file mode 100644 index 0000000..5c263cb --- /dev/null +++ b/PimpMyRideProject/PimpMyRideContracts/DataModels/SalaryDataModel.cs @@ -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"); + } + +} diff --git a/PimpMyRideProject/PimpMyRideContracts/DataModels/ServiceDataModel.cs b/PimpMyRideProject/PimpMyRideContracts/DataModels/ServiceDataModel.cs index d50939f..98fe219 100644 --- a/PimpMyRideProject/PimpMyRideContracts/DataModels/ServiceDataModel.cs +++ b/PimpMyRideProject/PimpMyRideContracts/DataModels/ServiceDataModel.cs @@ -4,12 +4,12 @@ using PimpMyRideContracts.Infrastructure; namespace PimpMyRideContracts.DataModels; -public class ServiceDataModel(string serviceId, string workerId, string carId, List 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 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"); } } diff --git a/PimpMyRideProject/PimpMyRideContracts/DataModels/ServiceOperationDataModel.cs b/PimpMyRideProject/PimpMyRideContracts/DataModels/ServiceOperationDataModel.cs deleted file mode 100644 index 8180ebc..0000000 --- a/PimpMyRideProject/PimpMyRideContracts/DataModels/ServiceOperationDataModel.cs +++ /dev/null @@ -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"); - } -} diff --git a/PimpMyRideProject/PimpMyRideContracts/DataModels/WorkerDataModel.cs b/PimpMyRideProject/PimpMyRideContracts/DataModels/WorkerDataModel.cs index abab213..9514cd3 100644 --- a/PimpMyRideProject/PimpMyRideContracts/DataModels/WorkerDataModel.cs +++ b/PimpMyRideProject/PimpMyRideContracts/DataModels/WorkerDataModel.cs @@ -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"); diff --git a/PimpMyRideProject/PimpMyRideTests/DataModelsTests/PostDataModelTest.cs b/PimpMyRideProject/PimpMyRideTests/DataModelsTests/PostDataModelTest.cs new file mode 100644 index 0000000..1eefc45 --- /dev/null +++ b/PimpMyRideProject/PimpMyRideTests/DataModelsTests/PostDataModelTest.cs @@ -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()); + + post = CreateDataModel(string.Empty, "name", PostType.CarElectrician, 10, true, DateTime.UtcNow); + Assert.That(() => post.Validate(), Throws.TypeOf()); + } + + [Test] + public void PostIdIsNotGuidTest() + { + var post = CreateDataModel("id", "name", PostType.CarElectrician, 10, true, DateTime.UtcNow); + Assert.That(() => post.Validate(), Throws.TypeOf()); + } + + [Test] + public void PostNameIsEmptyTest() + { + var post = CreateDataModel(Guid.NewGuid().ToString(), null, PostType.CarElectrician, 10, true, DateTime.UtcNow); + Assert.That(() => post.Validate(), Throws.TypeOf()); + + post = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, PostType.CarElectrician, 10, true, DateTime.UtcNow); + Assert.That(() => post.Validate(), Throws.TypeOf()); + } + + [Test] + public void PostTypeIsNoneTest() + { + var post = CreateDataModel(Guid.NewGuid().ToString(), "name", PostType.None, 10, true, DateTime.UtcNow); + Assert.That(() => post.Validate(), Throws.TypeOf()); + } + + [Test] + public void SalaryIsLessOrZeroTest() + { + var post = CreateDataModel(Guid.NewGuid().ToString(), "name", PostType.CarElectrician, 0, true, DateTime.UtcNow); + Assert.That(() => post.Validate(), Throws.TypeOf()); + + post = CreateDataModel(Guid.NewGuid().ToString(), "name", PostType.CarElectrician, -10, true, DateTime.UtcNow); + Assert.That(() => post.Validate(), Throws.TypeOf()); + } + + [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); +} diff --git a/PimpMyRideProject/PimpMyRideTests/DataModelsTests/SalaryDataModelTest.cs b/PimpMyRideProject/PimpMyRideTests/DataModelsTests/SalaryDataModelTest.cs new file mode 100644 index 0000000..a50afea --- /dev/null +++ b/PimpMyRideProject/PimpMyRideTests/DataModelsTests/SalaryDataModelTest.cs @@ -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()); + + salary = CreateDataModel(string.Empty, DateTime.Now, 10); + Assert.That(() => salary.Validate(), Throws.TypeOf()); + } + + [Test] + public void WorkerIdIsNotGuidTest() + { + var salary = CreateDataModel("workerId", DateTime.Now, 10); + Assert.That(() => salary.Validate(), Throws.TypeOf()); + } + + [Test] + public void SalaryIsLessOrZeroTest() + { + var salary = CreateDataModel(Guid.NewGuid().ToString(), DateTime.Now, 0); + Assert.That(() => salary.Validate(), Throws.TypeOf()); + + salary = CreateDataModel(Guid.NewGuid().ToString(), DateTime.Now, -10); + Assert.That(() => salary.Validate(), Throws.TypeOf()); + } + + [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); + +} diff --git a/PimpMyRideProject/PimpMyRideTests/DataModelsTests/ServiceDataModelTest.cs b/PimpMyRideProject/PimpMyRideTests/DataModelsTests/ServiceDataModelTest.cs index 746e54a..88e9f78 100644 --- a/PimpMyRideProject/PimpMyRideTests/DataModelsTests/ServiceDataModelTest.cs +++ b/PimpMyRideProject/PimpMyRideTests/DataModelsTests/ServiceDataModelTest.cs @@ -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()); - 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()); } [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()); } [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()); - 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()); } [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()); } [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()); - 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()); } [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()); } - [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()); - 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()); + } + + [Test] + public void OperationIdIsNotGuidTest() + { + var service = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "operationId"); Assert.That(() => service.Validate(), Throws.TypeOf()); } @@ -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? operations) => - new(serviceId, workerId, carId, operations); - - private static List 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); } diff --git a/PimpMyRideProject/PimpMyRideTests/DataModelsTests/ServiceOperationDataModelTest.cs b/PimpMyRideProject/PimpMyRideTests/DataModelsTests/ServiceOperationDataModelTest.cs deleted file mode 100644 index 4cdd54b..0000000 --- a/PimpMyRideProject/PimpMyRideTests/DataModelsTests/ServiceOperationDataModelTest.cs +++ /dev/null @@ -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()); - - service = CreateDataModel(string.Empty, Guid.NewGuid().ToString()); - Assert.That(() => service.Validate(), Throws.TypeOf()); - } - - [Test] - public void ServiceIdIsNotGuidTest() - { - var service = CreateDataModel("id", Guid.NewGuid().ToString()); - Assert.That(() => service.Validate(), Throws.TypeOf()); - } - - [Test] - public void OperationIdIsNullOrEmptyTest() - { - var service = CreateDataModel(Guid.NewGuid().ToString(), null); - Assert.That(() => service.Validate(), Throws.TypeOf()); - - service = CreateDataModel(Guid.NewGuid().ToString(), string.Empty); - Assert.That(() => service.Validate(), Throws.TypeOf()); - } - - [Test] - public void OperationIdIsNotGuidTest() - { - var service = CreateDataModel(Guid.NewGuid().ToString(), "id"); - Assert.That(() => service.Validate(), Throws.TypeOf()); - } - - [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); -} diff --git a/PimpMyRideProject/PimpMyRideTests/DataModelsTests/WorkerDataModelTest.cs b/PimpMyRideProject/PimpMyRideTests/DataModelsTests/WorkerDataModelTest.cs index 81f72e3..c22bcfb 100644 --- a/PimpMyRideProject/PimpMyRideTests/DataModelsTests/WorkerDataModelTest.cs +++ b/PimpMyRideProject/PimpMyRideTests/DataModelsTests/WorkerDataModelTest.cs @@ -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()); - 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()); } [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()); + } + + [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()); + + worker = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, "FIO", DateTime.Now.AddYears(-18), DateTime.Now, false); + Assert.That(() => worker.Validate(), Throws.TypeOf()); + } + + [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()); } [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()); - worker = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, PostType.CarElectrician, DateTime.Now.AddYears(-18), DateTime.Now, false); - Assert.That(() => worker.Validate(), Throws.TypeOf()); - } - - [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()); } [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()); } [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()); - 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()); } @@ -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); }