118 lines
5.9 KiB
C#
118 lines
5.9 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.ComponentModel.DataAnnotations;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
using HamContract.DataModels;
|
|||
|
|
|||
|
namespace HamTests.DataModelsTest;
|
|||
|
[TestFixture]
|
|||
|
internal class EmployeeDataModelTest
|
|||
|
{
|
|||
|
[TestFixture]
|
|||
|
internal class WorkerDataModelTests
|
|||
|
{
|
|||
|
[Test]
|
|||
|
public void IdIsNullOrEmptyTest()
|
|||
|
{
|
|||
|
var employee = CreateDataModel(null, "name", "phone", Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18), DateTime.Now, false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
employee = CreateDataModel(string.Empty, "name", "phone", Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18), DateTime.Now, false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
}
|
|||
|
|
|||
|
[Test]
|
|||
|
public void IdIsNotGuidTest()
|
|||
|
{
|
|||
|
var employee = CreateDataModel("id", "name", "phone", Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18), DateTime.Now, false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
}
|
|||
|
|
|||
|
[Test]
|
|||
|
public void NameIsNullOrEmptyTest()
|
|||
|
{
|
|||
|
|
|||
|
var employee = CreateDataModel(Guid.NewGuid().ToString(), "name", null, Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18), DateTime.Now, false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
employee = CreateDataModel(Guid.NewGuid().ToString(), "name", string.Empty, Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18), DateTime.Now, false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
}
|
|||
|
|
|||
|
[Test]
|
|||
|
public void PhoneIsNullOrEmptyTest()
|
|||
|
{
|
|||
|
var employee = CreateDataModel(Guid.NewGuid().ToString(), null, "phone", Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18), DateTime.Now, false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
employee = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, "phone", Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18), DateTime.Now, false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
}
|
|||
|
|
|||
|
[Test]
|
|||
|
public void PhoneIsIncorrectTest()
|
|||
|
{
|
|||
|
var employee = CreateDataModel(Guid.NewGuid().ToString(), "name", "777", Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18), DateTime.Now, false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
}
|
|||
|
|
|||
|
[Test]
|
|||
|
public void PostIdIsNullOrEmptyTest()
|
|||
|
{
|
|||
|
var employee = CreateDataModel(Guid.NewGuid().ToString(), "name", "number", null, DateTime.Now.AddYears(-18), DateTime.Now, false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
employee = CreateDataModel(Guid.NewGuid().ToString(), "name", "number", string.Empty, DateTime.Now.AddYears(-18), DateTime.Now, false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
}
|
|||
|
|
|||
|
[Test]
|
|||
|
public void PostIdIsNotGuidTest()
|
|||
|
{
|
|||
|
var employee = CreateDataModel(Guid.NewGuid().ToString(), "name", "number", "postId", DateTime.Now.AddYears(-18), DateTime.Now, false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
}
|
|||
|
|
|||
|
[Test]
|
|||
|
public void BirthDateIsNotCorrectTest()
|
|||
|
{
|
|||
|
var employee = CreateDataModel(Guid.NewGuid().ToString(), "name", "number", Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18).AddDays(1), DateTime.Now, false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
}
|
|||
|
|
|||
|
[Test]
|
|||
|
public void BirthDateAndEmploymentDateIsNotCorrectTest()
|
|||
|
{
|
|||
|
var employee = CreateDataModel(Guid.NewGuid().ToString(), "name", "number", Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18), DateTime.Now.AddYears(-18).AddDays(-1), false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
employee = CreateDataModel(Guid.NewGuid().ToString(), "name", "number", Guid.NewGuid().ToString(), DateTime.Now.AddYears(-18), DateTime.Now.AddYears(-16), false);
|
|||
|
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
|
|||
|
}
|
|||
|
|
|||
|
[Test]
|
|||
|
public void AllFieldsIsCorrectTest()
|
|||
|
{
|
|||
|
var employeeId = Guid.NewGuid().ToString();
|
|||
|
var name = "name";
|
|||
|
var phone = "+7-777-777-77-77";
|
|||
|
var postId = Guid.NewGuid().ToString();
|
|||
|
var dateofbirth = DateTime.Now.AddYears(-18).AddDays(-1);
|
|||
|
var employmentDate = DateTime.Now;
|
|||
|
var isDelete = false;
|
|||
|
var employee = CreateDataModel(employeeId, name, phone, postId, dateofbirth, employmentDate, isDelete);
|
|||
|
Assert.That(() => employee.Validate(), Throws.Nothing);
|
|||
|
Assert.Multiple(() =>
|
|||
|
{
|
|||
|
Assert.That(employee.Id, Is.EqualTo(employeeId));
|
|||
|
Assert.That(employee.Name, Is.EqualTo(name));
|
|||
|
Assert.That(employee.Phone, Is.EqualTo(phone));
|
|||
|
Assert.That(employee.PostId, Is.EqualTo(postId));
|
|||
|
Assert.That(employee.Dateofbirth, Is.EqualTo(dateofbirth));
|
|||
|
Assert.That(employee.EmploymentDate, Is.EqualTo(employmentDate));
|
|||
|
Assert.That(employee.IsDeleted, Is.EqualTo(isDelete));
|
|||
|
});
|
|||
|
}
|
|||
|
private static EmployeeDataModel CreateDataModel(string? id, string? name, string? phone, string? postId, DateTime dateofbirth, DateTime employmentDate, bool isDeleted) =>
|
|||
|
new(id, name, phone, postId, dateofbirth, employmentDate, isDeleted);
|
|||
|
|
|||
|
}
|
|||
|
}
|