Начало
This commit is contained in:
parent
e6a053624b
commit
195fd57378
@ -9,13 +9,15 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace PipingHotContrast.DataModels;
|
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 Id { get; private set; } = id;
|
||||||
public string WorkerId { get; private set; } = workerId;
|
public string WorkerId { get; private set; } = workerId;
|
||||||
public string? RestaurantId { get; private set; } = restaurantId;
|
public string? RestaurantId { get; private set; } = restaurantId;
|
||||||
public DateTime OrderDate { get; private set; } = DateTime.UtcNow;
|
public DateTime OrderDate { get; private set; } = DateTime.UtcNow;
|
||||||
public double Sum { get; private set; } = sum;
|
public double Sum { get; private set; } = sum;
|
||||||
|
public bool IsCancel { get; private set; } = isCancel;
|
||||||
|
|
||||||
public List<OrderProductDataModel> Products { get; private set; } = products;
|
public List<OrderProductDataModel> Products { get; private set; } = products;
|
||||||
|
|
||||||
public void Validate()
|
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]
|
[Test]
|
||||||
public void IdIsNullOrEmptyTest()
|
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>());
|
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>());
|
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void IdIsNotGuidTest()
|
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>());
|
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void WorkerIdIsNullOrEmptyTest()
|
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>());
|
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>());
|
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void WorkerIdIsNotGuidTest()
|
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>());
|
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void RestaurantIdIsNotGuidTest()
|
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>());
|
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void SumIsLessOrZeroTest()
|
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>());
|
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>());
|
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void ProductsIsNullOrEmptyTest()
|
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>());
|
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>());
|
Assert.That(() => order.Validate(), Throws.TypeOf<ValidationException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,8 +75,9 @@ internal class OrderDataModelTests
|
|||||||
var workerId = Guid.NewGuid().ToString();
|
var workerId = Guid.NewGuid().ToString();
|
||||||
var restaurantId = Guid.NewGuid().ToString();
|
var restaurantId = Guid.NewGuid().ToString();
|
||||||
var sum = 10;
|
var sum = 10;
|
||||||
|
var isCancel = true;
|
||||||
var products = CreateSubDataModel();
|
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.That(() => order.Validate(), Throws.Nothing);
|
||||||
Assert.Multiple(() =>
|
Assert.Multiple(() =>
|
||||||
{
|
{
|
||||||
@ -84,12 +85,13 @@ internal class OrderDataModelTests
|
|||||||
Assert.That(order.WorkerId, Is.EqualTo(workerId));
|
Assert.That(order.WorkerId, Is.EqualTo(workerId));
|
||||||
Assert.That(order.RestaurantId, Is.EqualTo(restaurantId));
|
Assert.That(order.RestaurantId, Is.EqualTo(restaurantId));
|
||||||
Assert.That(order.Sum, Is.EqualTo(sum));
|
Assert.That(order.Sum, Is.EqualTo(sum));
|
||||||
|
Assert.That(order.IsCancel, Is.EqualTo(isCancel));
|
||||||
Assert.That(order.Products, Is.EquivalentTo(products));
|
Assert.That(order.Products, Is.EquivalentTo(products));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private static OrderDataModel CreateDataModel(string? id, string? workerId, string? restaurantId, double sum, List<OrderProductDataModel>? products) =>
|
private static OrderDataModel CreateDataModel(string? id, string? workerId, string? restaurantId, double sum, bool isCancel, List<OrderProductDataModel>? products) =>
|
||||||
new(id, workerId, restaurantId, sum, products);
|
new(id, workerId, restaurantId, sum, isCancel, products);
|
||||||
|
|
||||||
private static List<OrderProductDataModel> CreateSubDataModel()
|
private static List<OrderProductDataModel> CreateSubDataModel()
|
||||||
=> [new(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 1)];
|
=> [new(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 1)];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user