Готовая ЛР №1
This commit is contained in:
parent
fa7a9e990e
commit
ffb5ac4e3c
@ -1,5 +1,4 @@
|
||||
|
||||
using PimpMyRideContracts.Enums;
|
||||
using PimpMyRideContracts.Enums;
|
||||
using PimpMyRideContracts.Exceptions;
|
||||
using PimpMyRideContracts.Extensions;
|
||||
using PimpMyRideContracts.Infrastructure;
|
||||
|
@ -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");
|
||||
}
|
||||
|
||||
}
|
@ -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");
|
||||
}
|
||||
|
||||
}
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
@ -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");
|
||||
}
|
||||
}
|
@ -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");
|
||||
|
||||
|
@ -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);
|
||||
}
|
@ -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);
|
||||
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user