79 lines
2.8 KiB
C#
Raw Permalink Normal View History

2025-02-03 02:27:04 +04:00
using SoftwareInstallationContracts.DataModels;
using SoftwareInstallationContracts.Exceptions;
namespace SoftwareInstallationTests.DataModelsTests;
[TestFixture]
internal class ClientDataModelTests
{
private ClientDataModel client;
2025-02-03 02:27:04 +04:00
[Test]
public void IdIsNullOrEmptyTest()
{
2025-02-10 21:18:32 +04:00
client = CreateDataModel(null, "Fio Fio Fio", "+7-777-777-77-77");
2025-02-03 02:27:04 +04:00
Assert.That(() => client.Validate(), Throws.TypeOf<ValidationFieldException>());
2025-02-10 21:18:32 +04:00
client = CreateDataModel(string.Empty, "Fio Fio Fio", "+7-777-777-77-77");
2025-02-03 02:27:04 +04:00
Assert.That(() => client.Validate(), Throws.TypeOf<ValidationFieldException>());
}
[Test]
public void IdIsNotGuidTest()
{
2025-02-10 20:47:17 +04:00
client = CreateDataModel("id", "Fio Fio Fio", "+7-777-777-77-77");
2025-02-03 02:27:04 +04:00
Assert.That(() => client.Validate(), Throws.TypeOf<ValidationFieldException>());
}
[Test]
public void FIOIsNullOrEmptyTest()
{
2025-02-10 20:47:17 +04:00
client = CreateDataModel(Guid.NewGuid().ToString(), null, "+7-777-777-77-77");
2025-02-03 02:27:04 +04:00
Assert.That(() => client.Validate(), Throws.TypeOf<ValidationFieldException>());
2025-02-10 20:47:17 +04:00
client = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, "+7-777-777-77-77");
2025-02-03 02:27:04 +04:00
Assert.That(() => client.Validate(), Throws.TypeOf<ValidationFieldException>());
}
[Test]
public void FIOIsIncorrectTest()
{
2025-02-10 20:47:17 +04:00
client = CreateDataModel(Guid.NewGuid().ToString(), "fio", "+7-777-777-77-77");
2025-02-03 02:27:04 +04:00
Assert.That(() => client.Validate(), Throws.TypeOf<ValidationFieldException>());
}
[Test]
public void PhoneNumberIsNullOrEmptyTest()
{
2025-02-10 20:47:17 +04:00
client = CreateDataModel(Guid.NewGuid().ToString(), "Fio Fio Fio", null);
2025-02-03 02:27:04 +04:00
Assert.That(() => client.Validate(), Throws.TypeOf<ValidationFieldException>());
2025-02-10 20:47:17 +04:00
client = CreateDataModel(Guid.NewGuid().ToString(), "Fio Fio Fio", string.Empty);
2025-02-03 02:27:04 +04:00
Assert.That(() => client.Validate(), Throws.TypeOf<ValidationFieldException>());
}
[Test]
public void PhoneNumberIsIncorrectTest()
{
2025-02-10 20:47:17 +04:00
client = CreateDataModel(Guid.NewGuid().ToString(), "Fio Fio Fio", "777");
2025-02-03 02:27:04 +04:00
Assert.That(() => client.Validate(), Throws.TypeOf<ValidationFieldException>());
}
[Test]
public void AllFieldsIsCorrectTest()
{
string phoneNumber = "+7-777-777-77-77";
2025-02-10 20:47:17 +04:00
string fio = "Vasiliy Vasiliev Vasilievich";
2025-02-03 02:27:04 +04:00
string id = Guid.NewGuid().ToString();
client = CreateDataModel(id, fio, phoneNumber);
Assert.That(() => client.Validate(), Throws.Nothing);
Assert.Multiple(() =>
{
Assert.That(client.Id, Is.EqualTo(id));
Assert.That(client.FIO, Is.EqualTo(fio));
Assert.That(client.PhoneNumber, Is.EqualTo(phoneNumber));
});
}
private static ClientDataModel CreateDataModel(string? id, string? fio, string? phoneNumber) =>
new(id, fio, phoneNumber);
}