2025-02-17 00:29:50 +04:00

89 lines
3.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TwoFromTheCasketContratcs.DataModels;
using TwoFromTheCasketContratcs.Exceptions;
namespace TwoFromTheCasketTest.DataModelsTest;
[TestFixture]
public class ServiceOrderDataModelTests
{
[Test]
public void OrderIdIsNullOrEmptyTest()
{
var serviceOrder = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 60);
Assert.That(() => serviceOrder.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void OrderIdIsNotGuidTest()
{
var serviceOrder = CreateDataModel("invalid-guid", Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 60);
Assert.That(() => serviceOrder.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void ServiceIdIsNullOrEmptyTest()
{
var serviceOrder = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, Guid.NewGuid().ToString(), 60);
Assert.That(() => serviceOrder.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void ServiceIdIsNotGuidTest()
{
var serviceOrder = CreateDataModel(Guid.NewGuid().ToString(), "invalid-guid", Guid.NewGuid().ToString(), 60);
Assert.That(() => serviceOrder.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void MasterIdIsNullOrEmptyTest()
{
var serviceOrder = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), string.Empty, 60);
Assert.That(() => serviceOrder.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void MasterIdIsNotGuidTest()
{
var serviceOrder = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "invalid-guid", 60);
Assert.That(() => serviceOrder.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void TimeOfWorkingIsZeroTest()
{
var serviceOrder = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 0);
Assert.That(() => serviceOrder.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void AllFieldsAreCorrectTest()
{
var orderId = Guid.NewGuid().ToString();
var serviceId = Guid.NewGuid().ToString();
var masterId = Guid.NewGuid().ToString();
var timeOfWorking = 60;
var serviceOrder = CreateDataModel(orderId, serviceId, masterId, timeOfWorking);
Assert.That(() => serviceOrder.Validate(), Throws.Nothing);
Assert.Multiple(() =>
{
Assert.That(serviceOrder.OrderId, Is.EqualTo(orderId));
Assert.That(serviceOrder.ServiceId, Is.EqualTo(serviceId));
Assert.That(serviceOrder.MasterId, Is.EqualTo(masterId));
Assert.That(serviceOrder.TimeOfWorking, Is.EqualTo(timeOfWorking));
});
}
private static ServiceOrderDataModel CreateDataModel(string orderId, string serviceId, string masterId, int timeOfWorking)
{
return new ServiceOrderDataModel(orderId, serviceId, masterId, timeOfWorking);
}
}