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()); } [Test] public void OrderIdIsNotGuidTest() { var serviceOrder = CreateDataModel("invalid-guid", Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 60); Assert.That(() => serviceOrder.Validate(), Throws.TypeOf()); } [Test] public void ServiceIdIsNullOrEmptyTest() { var serviceOrder = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, Guid.NewGuid().ToString(), 60); Assert.That(() => serviceOrder.Validate(), Throws.TypeOf()); } [Test] public void ServiceIdIsNotGuidTest() { var serviceOrder = CreateDataModel(Guid.NewGuid().ToString(), "invalid-guid", Guid.NewGuid().ToString(), 60); Assert.That(() => serviceOrder.Validate(), Throws.TypeOf()); } [Test] public void MasterIdIsNullOrEmptyTest() { var serviceOrder = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), string.Empty, 60); Assert.That(() => serviceOrder.Validate(), Throws.TypeOf()); } [Test] public void MasterIdIsNotGuidTest() { var serviceOrder = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "invalid-guid", 60); Assert.That(() => serviceOrder.Validate(), Throws.TypeOf()); } [Test] public void TimeOfWorkingIsZeroTest() { var serviceOrder = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 0); Assert.That(() => serviceOrder.Validate(), Throws.TypeOf()); } [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); } }