Итог
This commit is contained in:
parent
7e40591321
commit
72b36bf3f0
@ -28,6 +28,9 @@ namespace PuferFishContracts.DataModels
|
||||
if (FIO.IsEmpty())
|
||||
throw new ValidationException("Field FIO is empty");
|
||||
|
||||
if (!Regex.IsMatch(FIO, @"\b[А-ЯЁ][а-яё]*\b \b[А-ЯЁ][а-яё]*\b \b[А-ЯЁ][а-яё]*\b"))
|
||||
throw new ValidationException("Field FIO is not a FIO");
|
||||
|
||||
if (PhoneNumber.IsEmpty())
|
||||
throw new ValidationException("Field PhoneNumber is empty");
|
||||
|
||||
|
@ -8,6 +8,7 @@ using PuferFishContracts.Exceptions;
|
||||
using System.Xml;
|
||||
using PuferFishContracts.Infrastructure;
|
||||
using static System.Runtime.InteropServices.JavaScript.JSType;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace PuferFishContracts.DataModels;
|
||||
|
||||
@ -23,16 +24,25 @@ public class WorkerDataModel(string id, string fio, string postId, DateTime birt
|
||||
{
|
||||
if (Id.IsEmpty())
|
||||
throw new ValidationException("Field Id is empty");
|
||||
|
||||
if (!Id.IsGuid())
|
||||
throw new ValidationException("The value in the field Id is not a unique identifier");
|
||||
|
||||
if (FIO.IsEmpty())
|
||||
throw new ValidationException("Field FIO is empty");
|
||||
|
||||
if (!Regex.IsMatch(FIO, @"\b[А-ЯЁ][а-яё]*\b \b[А-ЯЁ][а-яё]*\b \b[А-ЯЁ][а-яё]*\b"))
|
||||
throw new ValidationException("Field FIO is not a FIO");
|
||||
|
||||
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 (BirthDate.Date > DateTime.Now.AddYears(-16).Date)
|
||||
throw new ValidationException($"Minors cannot be hired (BirthDate = { BirthDate.ToShortDateString() })");
|
||||
|
||||
if (EmploymentDate.Date < BirthDate.Date)
|
||||
throw new ValidationException("The date of employment cannot be less than the date of birth");
|
||||
if ((EmploymentDate - BirthDate).TotalDays / 365 < 16) //EmploymentDate.Year - BirthDate.Year
|
||||
|
@ -14,17 +14,17 @@ namespace PuferFishTests.DataModelsTests
|
||||
[Test]
|
||||
public void IdIsNullOrEmptyTest()
|
||||
{
|
||||
var buyer = CreateDataModel(null, "fio", "number", 10);
|
||||
var buyer = CreateDataModel(null, "Фамилия Имя Отчество", "number", 10);
|
||||
Assert.That(() => buyer.Validate(),
|
||||
Throws.TypeOf<ValidationException>());
|
||||
buyer = CreateDataModel(string.Empty, "fio", "number", 10);
|
||||
buyer = CreateDataModel(string.Empty, "Фамилия Имя Отчество", "number", 10);
|
||||
Assert.That(() => buyer.Validate(),
|
||||
Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
[Test]
|
||||
public void IdIsNotGuidTest()
|
||||
{
|
||||
var buyer = CreateDataModel("id", "fio", "number", 10);
|
||||
var buyer = CreateDataModel("id", "Фамилия Имя Отчество", "number", 10);
|
||||
Assert.That(() => buyer.Validate(),
|
||||
Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
@ -43,11 +43,11 @@ namespace PuferFishTests.DataModelsTests
|
||||
[Test]
|
||||
public void PhoneNumberIsNullOrEmptyTest()
|
||||
{
|
||||
var buyer = CreateDataModel(Guid.NewGuid().ToString(), "fio", null,
|
||||
var buyer = CreateDataModel(Guid.NewGuid().ToString(), "Фамилия Имя Отчество", null,
|
||||
10);
|
||||
Assert.That(() => buyer.Validate(),
|
||||
Throws.TypeOf<ValidationException>());
|
||||
buyer = CreateDataModel(Guid.NewGuid().ToString(), "fio",
|
||||
buyer = CreateDataModel(Guid.NewGuid().ToString(), "Фамилия Имя Отчество",
|
||||
string.Empty, 10);
|
||||
Assert.That(() => buyer.Validate(),
|
||||
Throws.TypeOf<ValidationException>());
|
||||
@ -55,7 +55,7 @@ namespace PuferFishTests.DataModelsTests
|
||||
[Test]
|
||||
public void PhoneNumberIsIncorrectTest()
|
||||
{
|
||||
var buyer = CreateDataModel(Guid.NewGuid().ToString(), "fio", "777",
|
||||
var buyer = CreateDataModel(Guid.NewGuid().ToString(), "Фамилия Имя Отчество", "777",
|
||||
10);
|
||||
Assert.That(() => buyer.Validate(),
|
||||
Throws.TypeOf<ValidationException>());
|
||||
@ -64,7 +64,7 @@ namespace PuferFishTests.DataModelsTests
|
||||
public void AllFieldsIsCorrectTest()
|
||||
{
|
||||
var buyerId = Guid.NewGuid().ToString();
|
||||
var fio = "Fio";
|
||||
var fio = "Фамилия Имя Отчество";
|
||||
var phoneNumber = "+7-777-777-77-77";
|
||||
var points = 11;
|
||||
var buyer = CreateDataModel(buyerId, fio, phoneNumber, points);
|
||||
|
@ -15,11 +15,11 @@ internal class WorkerDataModelTests
|
||||
[Test]
|
||||
public void IdIsNullOrEmptyTest()
|
||||
{
|
||||
var worker = CreateDataModel(null, "fio", Guid.NewGuid().ToString(),
|
||||
var worker = CreateDataModel(null, "Фамилия Имя Отчество", Guid.NewGuid().ToString(),
|
||||
DateTime.Now.AddYears(-18), DateTime.Now, false);
|
||||
Assert.That(() => worker.Validate(),
|
||||
Throws.TypeOf<ValidationException>());
|
||||
worker = CreateDataModel(string.Empty, "fio",
|
||||
worker = CreateDataModel(string.Empty, "Фамилия Имя Отчество",
|
||||
Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18), DateTime.Now, false);
|
||||
Assert.That(() => worker.Validate(),
|
||||
Throws.TypeOf<ValidationException>());
|
||||
@ -27,7 +27,7 @@ internal class WorkerDataModelTests
|
||||
[Test]
|
||||
public void IdIsNotGuidTest()
|
||||
{
|
||||
var worker = CreateDataModel("id", "fio", Guid.NewGuid().ToString(),
|
||||
var worker = CreateDataModel("id", "Фамилия Имя Отчество", Guid.NewGuid().ToString(),
|
||||
DateTime.Now.AddYears(-18), DateTime.Now, false);
|
||||
Assert.That(() => worker.Validate(),
|
||||
Throws.TypeOf<ValidationException>());
|
||||
@ -47,11 +47,11 @@ internal class WorkerDataModelTests
|
||||
[Test]
|
||||
public void PostIdIsNullOrEmptyTest()
|
||||
{
|
||||
var worker = CreateDataModel(Guid.NewGuid().ToString(), "fio", null,
|
||||
var worker = CreateDataModel(Guid.NewGuid().ToString(), "Фамилия Имя Отчество", null,
|
||||
DateTime.Now.AddYears(-18), DateTime.Now, false);
|
||||
Assert.That(() => worker.Validate(),
|
||||
Throws.TypeOf<ValidationException>());
|
||||
worker = CreateDataModel(Guid.NewGuid().ToString(), "fio",
|
||||
worker = CreateDataModel(Guid.NewGuid().ToString(), "Фамилия Имя Отчество",
|
||||
string.Empty, DateTime.Now.AddYears(-18), DateTime.Now, false);
|
||||
Assert.That(() => worker.Validate(),
|
||||
Throws.TypeOf<ValidationException>());
|
||||
@ -59,7 +59,7 @@ internal class WorkerDataModelTests
|
||||
[Test]
|
||||
public void PostIdIsNotGuidTest()
|
||||
{
|
||||
var worker = CreateDataModel(Guid.NewGuid().ToString(), "fio",
|
||||
var worker = CreateDataModel(Guid.NewGuid().ToString(), "Фамилия Имя Отчество",
|
||||
"postId", DateTime.Now.AddYears(-18), DateTime.Now, false);
|
||||
Assert.That(() => worker.Validate(),
|
||||
Throws.TypeOf<ValidationException>());
|
||||
@ -67,7 +67,7 @@ internal class WorkerDataModelTests
|
||||
[Test]
|
||||
public void BirthDateIsNotCorrectTest()
|
||||
{
|
||||
var worker = CreateDataModel(Guid.NewGuid().ToString(), "fio",
|
||||
var worker = CreateDataModel(Guid.NewGuid().ToString(), "Фамилия Имя Отчество",
|
||||
Guid.NewGuid().ToString(), DateTime.Now.AddYears(-16).AddDays(1), DateTime.Now,
|
||||
false);
|
||||
Assert.That(() => worker.Validate(),
|
||||
@ -76,12 +76,12 @@ internal class WorkerDataModelTests
|
||||
[Test]
|
||||
public void BirthDateAndEmploymentDateIsNotCorrectTest()
|
||||
{
|
||||
var worker = CreateDataModel(Guid.NewGuid().ToString(), "fio",
|
||||
var worker = CreateDataModel(Guid.NewGuid().ToString(), "Фамилия Имя Отчество",
|
||||
Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18), DateTime.Now.AddYears(-
|
||||
18).AddDays(-1), false);
|
||||
Assert.That(() => worker.Validate(),
|
||||
Throws.TypeOf<ValidationException>());
|
||||
worker = CreateDataModel(Guid.NewGuid().ToString(), "fio",
|
||||
worker = CreateDataModel(Guid.NewGuid().ToString(), "Фамилия Имя Отчество",
|
||||
Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18), DateTime.Now.AddYears(-
|
||||
16), false);
|
||||
Assert.That(() => worker.Validate(),
|
||||
@ -91,7 +91,7 @@ internal class WorkerDataModelTests
|
||||
public void AllFieldsIsCorrectTest()
|
||||
{
|
||||
var workerId = Guid.NewGuid().ToString();
|
||||
var fio = "fio";
|
||||
var fio = "Фамилия Имя Отчество";
|
||||
var postId = Guid.NewGuid().ToString();
|
||||
var birthDate = DateTime.Now.AddYears(-16).AddDays(-1);
|
||||
var employmentDate = DateTime.Now;
|
||||
|
Loading…
x
Reference in New Issue
Block a user