Skip to content

Commit 7a81813

Browse files
author
Adriane Troy Alariao
committed
UPDATE: "Updated Unit test, now working"
1 parent dbdd34f commit 7a81813

File tree

7 files changed

+16
-30
lines changed

7 files changed

+16
-30
lines changed

src/eCommerceWebAPI/Commands/CheckOutCommand.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44

55
namespace eCommerceWebAPI.Commands
66
{
7-
public record CheckOutCommand(Guid userId) : IRequest<Order>;
7+
public record CheckOutCommand(Guid userId) : IRequest<Guid>;
88
}

src/eCommerceWebAPI/Handlers/CheckoutHandler.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
namespace eCommerceWebAPI.Handlers
1010
{
11-
public class CheckoutHandler : IRequestHandler<CheckOutCommand, Order>
11+
public class CheckoutHandler : IRequestHandler<CheckOutCommand, Guid>
1212
{
1313
private readonly ICheckoutRepository _checkoutRepository;
1414
private readonly IMapper _mapper;
@@ -19,7 +19,7 @@ public CheckoutHandler(ICheckoutRepository checkoutRepository, IMapper mapper)
1919
_mapper = mapper;
2020
}
2121

22-
public async Task<Order> Handle(CheckOutCommand request, CancellationToken cancellationToken)
22+
public async Task<Guid> Handle(CheckOutCommand request, CancellationToken cancellationToken)
2323
{
2424
var newCommand = new CheckOutCommand(request.userId);
2525
var userId = newCommand.userId;

src/eCommerceWebAPI/Interface/ICheckoutRepository.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ namespace eCommerceWebAPI.Interface
44
{
55
public interface ICheckoutRepository
66
{
7-
public Task<Order> Checkout(Guid userId);
7+
public Task<Guid> Checkout(Guid userId);
88
}
99
}

src/eCommerceWebAPI/Repository/CheckoutRepository.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public CheckoutRepository(AppDataContext context, ILogger<CheckoutRepository> lo
1717
_dbContext = context;
1818
}
1919

20-
public async Task<Order> Checkout(Guid userId)
20+
public async Task<Guid> Checkout(Guid userId)
2121
{
2222
try
2323
{
@@ -48,7 +48,7 @@ public async Task<Order> Checkout(Guid userId)
4848
}
4949

5050
_logger.LogInformation($"New Order Checkout has been added in the database, Object: {JsonConvert.SerializeObject(order).ToUpper()}");
51-
return order;
51+
return userId;
5252
}
5353
catch (Exception ex)
5454
{

tests/UnitTest/Cartitems/Commands/CartItemRequestHandlersTest.cs

+5-3
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ public CartItemRequestHandlersTest()
2525
{
2626
ItemID = Guid.NewGuid(),
2727
ItemName = "Test Item",
28-
ItemPrice = 45.67
28+
ItemPrice = 45.67,
29+
CustomerID = Guid.NewGuid(),
2930
};
3031

3132
MapperConfiguration mapConfig = new(c =>
@@ -42,12 +43,13 @@ public async Task Handle_Should_Add_Item()
4243
var handler = new AddItemsHandler(_mockRepo.Object, _mapper);
4344
CartItemDTO cartItemDTO = _mapper.Map<CartItemDTO>(_cartItem);
4445

45-
var result = await handler.Handle(new AddCartItemCommand(cartItemDTO), CancellationToken.None);
46+
var userGuid = Guid.NewGuid();
47+
48+
var result = await handler.Handle(new AddCartItemCommand(cartItemDTO, userGuid), CancellationToken.None);
4649

4750
var cartItems = await _mockRepo.Object.GetCartItems();
4851

4952
result.Should().BeOfType<CartItem>();
50-
5153
cartItems.Count.Should().Be(5);
5254
}
5355

tests/UnitTest/Checkout/Commands/CheckoutRequestHandlersTest.cs

+4-20
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using Test.Moq;
1111
using eCommerceWebAPI.Configurations;
1212
using eCommerceWebAPI.Enumerations;
13+
using Azure;
1314

1415
namespace UnitTest.Checkout.Commands
1516
{
@@ -35,28 +36,11 @@ public async Task Handle_Should_Checkout_Order()
3536
{
3637
var handler = new CheckoutHandler(_mockRepo.Object, _mapper);
3738

38-
var order = MockCheckoutRepository.GenerateOrder();
39+
var userGuid = Guid.NewGuid();
3940

40-
OrderDTO orderDTO = _mapper.Map<OrderDTO>(order);
41+
var result = await handler.Handle(new CheckOutCommand(userGuid), CancellationToken.None);
4142

42-
orderDTO.OrderStatus = OrderStatus.Processed;
43-
44-
var result = await handler.Handle(new CheckOutCommand(), CancellationToken.None);
45-
46-
OrderDTO resultDTO = _mapper.Map<OrderDTO>(result);
47-
48-
resultDTO.PrimaryID = orderDTO.PrimaryID;
49-
resultDTO.OrderCreatedDate = orderDTO.OrderCreatedDate;
50-
resultDTO.OrderCreatedDate = orderDTO.OrderCreatedDate;
51-
resultDTO.OrderStatus = orderDTO.OrderStatus;
52-
resultDTO.CartItemEntity = orderDTO.CartItemEntity;
53-
54-
resultDTO.Should().BeOfType<Guid>();
55-
resultDTO.ShouldNotBeNull();
56-
resultDTO.OrderStatus.Should().Be(orderDTO.OrderStatus);
57-
resultDTO.UserPrimaryID.Should().Be(orderDTO.UserPrimaryID);
58-
resultDTO.CartItemEntity.Should().NotBeNull();
59-
resultDTO.CartItemEntity.Count.Should().Be(3);
43+
result.ShouldBeOfType<Guid>();
6044
}
6145
}
6246
}

tests/UnitTest/Moq/MockCheckoutRepository.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public static Mock<ICheckoutRepository> CheckoutRepo()
4141
var mockRepo = new Mock<ICheckoutRepository>();
4242

4343
//Create new user
44-
mockRepo.Setup(x => x.Checkout(It.IsAny<Guid>())).ReturnsAsync((Order order) =>
44+
mockRepo.Setup(x => x.Checkout(It.IsAny<Guid>())).ReturnsAsync((Guid order) =>
4545
{
4646
return order;
4747
});

0 commit comments

Comments
 (0)