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