FruitBankHybridApp/FruitBankHybrid.Shared.Tests/OrderClientTests.cs

74 lines
2.1 KiB
C#

using AyCode.Core.Enums;
using AyCode.Core.Loggers;
using FruitBank.Common.Loggers;
using FruitBankHybrid.Shared.Services.SignalRs;
using Nop.Core.Domain.Orders;
namespace FruitBankHybrid.Shared.Tests;
[TestClass]
public sealed class OrderClientTests
{
private const int CustomerIdAasdDsserverCom = 6; //aasd@dsserver.com
private FruitBankSignalRClient _signalRClient = null!;
[TestInitialize]
public void TestInit()
{
_signalRClient = new FruitBankSignalRClient(new List<IAcLogWriterClientBase>
{
//new ConsoleLogWriter(AppType.TestUnit, LogLevel.Detail, nameof(FruitBankClientTests)),
new SignaRClientLogItemWriter(AppType.TestUnit, LogLevel.Detail, nameof(FruitBankClientTests))
});
}
[TestMethod]
public async Task GetAllOrderDtos()
{
var orderDtos = await _signalRClient.GetAllOrderDtos();
Assert.IsNotNull(orderDtos);
Assert.IsTrue(orderDtos.Count != 0);
Assert.IsTrue(orderDtos.All(o => o.OrderItemDtos.All(oi => oi.ProductDto != null && oi.ProductDto.Id == oi.ProductId)));
}
[TestMethod]
[DataRow(1)]
[DataRow(2)]
[DataRow(3)]
public async Task GetOrderDtoById(int orderId)
{
var orderDto = await _signalRClient.GetOrderDtoById(orderId);
Assert.IsNotNull(orderDto);
Assert.IsTrue(orderDto.OrderStatusId >= 10);
Assert.IsTrue(orderDto.CustomOrderNumber == orderId.ToString());
}
[TestMethod]
public async Task GetPendingOrderDtos()
{
var pendingOrderDtos = await _signalRClient.GetPendingOrderDtos();
Assert.IsNotNull(pendingOrderDtos);
Assert.IsTrue(pendingOrderDtos.All(o => o.OrderStatus == OrderStatus.Pending));
Assert.IsTrue(pendingOrderDtos.Count != 0);
}
[TestMethod]
[DataRow(new int[] {1,2,4,7})]
public async Task GetOrderDtoById(int[] orderIds)
{
var orderDtoList = await _signalRClient.GetAllByIds(orderIds);
Assert.IsNotNull(orderDtoList);
Assert.IsTrue(orderDtoList.Count == orderIds.Length);
Assert.IsTrue(orderDtoList.All(x => orderIds.Contains(x.Id)));
}
}