Try your search with a different keyword or use * as a wildcard.
using FluentAssertions;
using Nop.Core.Domain.Orders;
using Nop.Data;
using Nop.Services.Orders;
using NUnit.Framework;
namespace Nop.Tests.Nop.Services.Tests.Orders;
[TestFixture]
public class OrderServiceTests : ServiceTest
{
private IOrderService _orderService;
[OneTimeSetUp]
public void SetUp()
{
_orderService = GetService();
}
[Test]
public async Task ItShouldReturnNullOrderWhenOrderIdIsZero()
{
var order = await _orderService.GetOrderByIdAsync(0);
order.Should().BeNull();
}
[Test]
public async Task ItShouldReturnEmptyOrdersWhenOrderIdsNull()
{
var orders = await _orderService.GetOrdersByIdsAsync(null);
orders.Count.Should().Be(0);
}
[Test]
public async Task ItShouldReturnEmptyOrdersWhenOrderIdsEmpty()
{
var orders = await _orderService.GetOrdersByIdsAsync(Array.Empty());
orders.Count.Should().Be(0);
}
[Test]
public async Task ItShouldReturnOrdersByIds()
{
var orders = await _orderService.GetOrdersByIdsAsync([1, 2]);
orders.Count.Should().Be(2);
}
[Test]
public async Task ItShouldReturnNullWhenGuidIsEmpty()
{
var order = await _orderService.GetOrderByGuidAsync(Guid.Empty);
order.Should().BeNull();
}
[Test]
public async Task ItShouldGetOrderByGuidWhenGuidNotEmpty()
{
var order = await _orderService.GetOrderByIdAsync(1);
var foundedOrder = await _orderService.GetOrderByGuidAsync(order.OrderGuid);
foundedOrder.Id.Should().Be(order.Id);
}
[Test]
public void ItShouldThrowExceptionIfOrderIsNullWhenDeleteOrder()
{
Assert.Throws(typeof(AggregateException), () => _orderService.DeleteOrderAsync(null).Wait());
}
[Test]
public async Task ItShouldDeleteOrder()
{
var order = await _orderService.GetOrderByIdAsync(1);
await _orderService.DeleteOrderAsync(order);
order.Deleted.Should().BeTrue();
order = await GetService>().GetByIdAsync(1);
order.Should().NotBeNull();
order.Deleted = false;
await _orderService.UpdateOrderAsync(order);
}
[Test]
public void ItShouldThrowIfOrderIsNullWhenInsertOrder()
{
Assert.Throws(() => _orderService.InsertOrderAsync(null).Wait());
}
[Test]
public async Task ItShouldInsertOrder()
{
var order = new Order
{
CustomOrderNumber = string.Empty,
CustomerId = 1,
BillingAddressId = 1
};
await _orderService.InsertOrderAsync(order);
order.Id.Should().BeGreaterThan(0);
await GetService>().DeleteAsync(order);
}
[Test]
public void ItShouldThrowIfOrderIsNullWhenUpdateOrder()
{
Assert.Throws(() => _orderService.UpdateOrderAsync(null).Wait());
}
}