2025-02-13 12:34:39 +04:00

41 lines
1.5 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WildPlum.DataModels;
namespace WildPlumTests.DataModelsTests;
[TestFixture]
public class OrderDataModelTests
{
[Test]
public void IdIsNullOrEmptyTest()
{
var order = CreateDataModel(null, 100, DateTime.UtcNow, DateTime.UtcNow.AddDays(1), "1");
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
order = CreateDataModel(string.Empty, 100, DateTime.UtcNow, DateTime.UtcNow.AddDays(1), "1");
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void BuyerIdIsNullOrEmptyTest()
{
var order = CreateDataModel("1", 100, DateTime.UtcNow, DateTime.UtcNow.AddDays(1), null);
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
order = CreateDataModel("1", 100, DateTime.UtcNow, DateTime.UtcNow.AddDays(1), string.Empty);
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
}
[Test]
public void StartDateAndEndDateIsNotCorrect()
{
var order = CreateDataModel("1", 100, DateTime.UtcNow.AddDays(2), DateTime.UtcNow, "1");
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
}
private static OrderDataModel CreateDataModel(string? id, int price, DateTime dateStart, DateTime dateEnd, string? buyerId) => new(id, price, dateStart, dateEnd, buyerId);
}