ne_kroman 1ebb95b7b1 lab1
2025-02-13 18:16:23 +04:00

73 lines
2.7 KiB
C#

using ElectricalRepairServiceContract.DataModels;
using ElectricalRepairServiceContract.Exceptions;
using NUnit.Framework;
using System;
namespace ElectricalRepairServiceTests.DataModelsTests
{
[TestFixture]
internal class EmploeeDataModelTest
{
[Test]
public void IdIsNullOrEmptyTest()
{
var employee = CreateDataModel(null, "ValidName", Guid.NewGuid().ToString());
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
employee = CreateDataModel(string.Empty, "ValidName", Guid.NewGuid().ToString());
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void IdIsNotGuidTest()
{
var employee = CreateDataModel("invalid-id", "ValidName", Guid.NewGuid().ToString());
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void NameIsNullOrEmptyTest()
{
var employee = CreateDataModel(Guid.NewGuid().ToString(), null, Guid.NewGuid().ToString());
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
employee = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, Guid.NewGuid().ToString());
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void PostIdIsNullOrEmptyTest()
{
var employee = CreateDataModel(Guid.NewGuid().ToString(), "ValidName", null);
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
employee = CreateDataModel(Guid.NewGuid().ToString(), "ValidName", string.Empty);
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void PostIdIsNotGuidTest()
{
var employee = CreateDataModel(Guid.NewGuid().ToString(), "ValidName", "invalid-post-id");
Assert.That(() => employee.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void AllFieldsCorrectTest()
{
var id = Guid.NewGuid().ToString();
var name = "ValidName";
var postId = Guid.NewGuid().ToString();
var employee = CreateDataModel(id, name, postId);
Assert.That(employee.Id, Is.EqualTo(id));
Assert.That(employee.Name, Is.EqualTo(name));
Assert.That(employee.PostId, Is.EqualTo(postId));
}
private EmploeeDataModel CreateDataModel(string id, string name, string postId)
=> new EmploeeDataModel(id, name, postId);
}
}