Начало
This commit is contained in:
parent
e6a053624b
commit
195fd57378
@ -9,13 +9,15 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace PipingHotContrast.DataModels;
|
||||
|
||||
public class OrderDataModel(string id, string workerId, string? restaurantId, double sum, List<OrderProductDataModel> products):IValidation
|
||||
public class OrderDataModel(string id, string workerId, string? restaurantId, double sum, bool isCancel, List<OrderProductDataModel> products):IValidation
|
||||
{
|
||||
public string Id { get; private set; } = id;
|
||||
public string WorkerId { get; private set; } = workerId;
|
||||
public string? RestaurantId { get; private set; } = restaurantId;
|
||||
public DateTime OrderDate { get; private set; } = DateTime.UtcNow;
|
||||
public double Sum { get; private set; } = sum;
|
||||
public bool IsCancel { get; private set; } = isCancel;
|
||||
|
||||
public List<OrderProductDataModel> Products { get; private set; } = products;
|
||||
|
||||
public void Validate()
|
||||
|
@ -0,0 +1,20 @@
|
||||
using PipingHotContrast.DataModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace PipingHotContrast.StoragesContracts;
|
||||
|
||||
public interface IPostStorageContract
|
||||
{
|
||||
List<PostDataModel> GetList(bool onlyActual = true);
|
||||
List<PostDataModel> GetPostWithHistory(string postId);
|
||||
PostDataModel? GetElementById(int id);
|
||||
PostDataModel? GetElementByName(string name);
|
||||
void AddElement(PostDataModel postDataModel);
|
||||
void UpdElement(PostDataModel postDataModel);
|
||||
void DelElement(string id);
|
||||
void ResElement(string id);
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
using PipingHotContrast.DataModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace PipingHotContrast.StoragesContracts;
|
||||
|
||||
public interface IProductStorageContract
|
||||
{
|
||||
List<ProductDataModel> GetList(bool onlyActive = true, string? restaurantId = null);
|
||||
List<ProductHistoryDataModel> GetHistoryByProductId(string productId);
|
||||
ProductDataModel? GetElementById(string id);
|
||||
ProductDataModel? GetElementByName(string name);
|
||||
void AddElement(ProductDataModel productDataModel);
|
||||
void UpdElement(ProductDataModel productDataModel);
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
using PipingHotContrast.DataModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace PipingHotContrast.StoragesContracts;
|
||||
|
||||
public interface IRestaurantStorageContract
|
||||
{
|
||||
List<RestaurantDataModel> GetList();
|
||||
RestaurantDataModel? GetElementById(string id);
|
||||
RestaurantDataModel? GetElementByName(string name);
|
||||
RestaurantDataModel? GetElementByOldName(string name);
|
||||
void AddElement(RestaurantDataModel restaurantDataModel);
|
||||
void UpdElement(RestaurantDataModel restaurantDataModel);
|
||||
void DelElement(string id);
|
||||
}
|
@ -14,57 +14,57 @@ internal class OrderDataModelTests
|
||||
[Test]
|
||||
public void IdIsNullOrEmptyTest()
|
||||
{
|
||||
var order = CreateDataModel(null, Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 10, CreateSubDataModel());
|
||||
var order = CreateDataModel(null, Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 10, false, CreateSubDataModel());
|
||||
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||
order = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 10, CreateSubDataModel());
|
||||
order = CreateDataModel(string.Empty, Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 10, false, CreateSubDataModel());
|
||||
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IdIsNotGuidTest()
|
||||
{
|
||||
var order = CreateDataModel("id", Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 10, CreateSubDataModel());
|
||||
var order = CreateDataModel("id", Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 10, false, CreateSubDataModel());
|
||||
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WorkerIdIsNullOrEmptyTest()
|
||||
{
|
||||
var order = CreateDataModel(Guid.NewGuid().ToString(), null, Guid.NewGuid().ToString(), 10, CreateSubDataModel());
|
||||
var order = CreateDataModel(Guid.NewGuid().ToString(), null, Guid.NewGuid().ToString(), 10, false, CreateSubDataModel());
|
||||
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||
order = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, Guid.NewGuid().ToString(), 10, CreateSubDataModel());
|
||||
order = CreateDataModel(Guid.NewGuid().ToString(), string.Empty, Guid.NewGuid().ToString(), 10, false, CreateSubDataModel());
|
||||
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WorkerIdIsNotGuidTest()
|
||||
{
|
||||
var order = CreateDataModel(Guid.NewGuid().ToString(), "employeeId", Guid.NewGuid().ToString(), 10, CreateSubDataModel());
|
||||
var order = CreateDataModel(Guid.NewGuid().ToString(), "employeeId", Guid.NewGuid().ToString(), 10, false, CreateSubDataModel());
|
||||
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void RestaurantIdIsNotGuidTest()
|
||||
{
|
||||
var order = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "restaurantId", 10, CreateSubDataModel());
|
||||
var order = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "restaurantId", 10, false, CreateSubDataModel());
|
||||
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SumIsLessOrZeroTest()
|
||||
{
|
||||
var order = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 0, CreateSubDataModel());
|
||||
var order = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 0, false, CreateSubDataModel());
|
||||
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||
order = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), -10, CreateSubDataModel());
|
||||
order = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), -10, false, CreateSubDataModel());
|
||||
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ProductsIsNullOrEmptyTest()
|
||||
{
|
||||
var order = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 10, null);
|
||||
var order = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 10, false, null);
|
||||
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||
order = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 10, []);
|
||||
order = CreateDataModel(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 10, false,[]);
|
||||
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||
}
|
||||
|
||||
@ -75,8 +75,9 @@ internal class OrderDataModelTests
|
||||
var workerId = Guid.NewGuid().ToString();
|
||||
var restaurantId = Guid.NewGuid().ToString();
|
||||
var sum = 10;
|
||||
var isCancel = true;
|
||||
var products = CreateSubDataModel();
|
||||
var order = CreateDataModel(orderId, workerId, restaurantId, sum, products);
|
||||
var order = CreateDataModel(orderId, workerId, restaurantId, sum, isCancel, products);
|
||||
Assert.That(() => order.Validate(), Throws.Nothing);
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
@ -84,12 +85,13 @@ internal class OrderDataModelTests
|
||||
Assert.That(order.WorkerId, Is.EqualTo(workerId));
|
||||
Assert.That(order.RestaurantId, Is.EqualTo(restaurantId));
|
||||
Assert.That(order.Sum, Is.EqualTo(sum));
|
||||
Assert.That(order.IsCancel, Is.EqualTo(isCancel));
|
||||
Assert.That(order.Products, Is.EquivalentTo(products));
|
||||
});
|
||||
}
|
||||
|
||||
private static OrderDataModel CreateDataModel(string? id, string? workerId, string? restaurantId, double sum, List<OrderProductDataModel>? products) =>
|
||||
new(id, workerId, restaurantId, sum, products);
|
||||
private static OrderDataModel CreateDataModel(string? id, string? workerId, string? restaurantId, double sum, bool isCancel, List<OrderProductDataModel>? products) =>
|
||||
new(id, workerId, restaurantId, sum, isCancel, products);
|
||||
|
||||
private static List<OrderProductDataModel> CreateSubDataModel()
|
||||
=> [new(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 1)];
|
||||
|
Loading…
x
Reference in New Issue
Block a user