|
|
@ -28,31 +28,6 @@ namespace UnitTest.Ordering.Application |
|
|
|
_mediator = new Mock<IMediator>(); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task Handle_returns_true_when_order_is_persisted_succesfully() |
|
|
|
{ |
|
|
|
|
|
|
|
var buyerId = "1234"; |
|
|
|
|
|
|
|
var fakeOrderCmd = FakeOrderRequestWithBuyer(new Dictionary<string, object> |
|
|
|
{ ["cardExpiration"] = DateTime.Now.AddYears(1) }); |
|
|
|
|
|
|
|
// Arrange
|
|
|
|
_orderRepositoryMock.Setup(orderRepo => orderRepo.GetAsync(It.IsAny<int>())) |
|
|
|
.Returns(Task.FromResult<Order>(FakeOrder())); |
|
|
|
|
|
|
|
_orderRepositoryMock.Setup(buyerRepo => buyerRepo.UnitOfWork.SaveChangesAsync(default(CancellationToken))) |
|
|
|
.Returns(Task.FromResult(1)); |
|
|
|
|
|
|
|
_identityServiceMock.Setup(svc => svc.GetUserIdentity()).Returns(buyerId); |
|
|
|
//Act
|
|
|
|
var handler = new CreateOrderCommandHandler(_mediator.Object, _orderRepositoryMock.Object, _identityServiceMock.Object); |
|
|
|
var result = await handler.Handle(fakeOrderCmd); |
|
|
|
|
|
|
|
//Assert
|
|
|
|
Assert.True(result); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task Handle_return_false_if_order_is_not_persisted() |
|
|
|
{ |
|
|
@ -77,111 +52,6 @@ namespace UnitTest.Ordering.Application |
|
|
|
Assert.False(result); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task Handle_throws_exception_when_order_expired() |
|
|
|
{ |
|
|
|
|
|
|
|
var buyerId = "1234"; |
|
|
|
|
|
|
|
var fakeOrderCmd = FakeOrderRequestWithBuyer(new Dictionary<string, object> |
|
|
|
{ ["cardExpiration"] = DateTime.Now.AddYears(-1) }); |
|
|
|
|
|
|
|
// Arrange
|
|
|
|
_orderRepositoryMock.Setup(orderRepo => orderRepo.GetAsync(It.IsAny<int>())) |
|
|
|
.Returns(Task.FromResult<Order>(FakeOrder())); |
|
|
|
|
|
|
|
_orderRepositoryMock.Setup(buyerRepo => buyerRepo.UnitOfWork.SaveChangesAsync(default(CancellationToken))) |
|
|
|
.Returns(Task.FromResult(1)); |
|
|
|
|
|
|
|
_identityServiceMock.Setup(svc => svc.GetUserIdentity()).Returns(buyerId); |
|
|
|
//Act
|
|
|
|
var handler = new CreateOrderCommandHandler(_mediator.Object, _orderRepositoryMock.Object, _identityServiceMock.Object); |
|
|
|
|
|
|
|
//Assert
|
|
|
|
await Assert.ThrowsAsync<ArgumentException>(async () => await handler.Handle(fakeOrderCmd)); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task Handle_throws_exception_when_no_holdername() |
|
|
|
{ |
|
|
|
|
|
|
|
var buyerId = "1234"; |
|
|
|
|
|
|
|
var fakeOrderCmd = FakeOrderRequestWithBuyer(new Dictionary<string, object> |
|
|
|
{ |
|
|
|
["cardExpiration"] = DateTime.Now.AddYears(1), |
|
|
|
["cardHolderName"] = string.Empty, |
|
|
|
}); |
|
|
|
|
|
|
|
// Arrange
|
|
|
|
_orderRepositoryMock.Setup(orderRepo => orderRepo.GetAsync(It.IsAny<int>())) |
|
|
|
.Returns(Task.FromResult<Order>(FakeOrder())); |
|
|
|
|
|
|
|
_orderRepositoryMock.Setup(buyerRepo => buyerRepo.UnitOfWork.SaveChangesAsync(default(CancellationToken))) |
|
|
|
.Returns(Task.FromResult(1)); |
|
|
|
|
|
|
|
_identityServiceMock.Setup(svc => svc.GetUserIdentity()).Returns(buyerId); |
|
|
|
//Act
|
|
|
|
var handler = new CreateOrderCommandHandler(_mediator.Object, _orderRepositoryMock.Object, _identityServiceMock.Object); |
|
|
|
|
|
|
|
//Assert
|
|
|
|
await Assert.ThrowsAsync<ArgumentException>(async () => await handler.Handle(fakeOrderCmd)); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task Handle_throws_exception_when_no_securityNumber() |
|
|
|
{ |
|
|
|
|
|
|
|
var buyerId = "1234"; |
|
|
|
|
|
|
|
var fakeOrderCmd = FakeOrderRequestWithBuyer(new Dictionary<string, object> |
|
|
|
{ |
|
|
|
["cardExpiration"] = DateTime.Now.AddYears(1), |
|
|
|
["cardSecurityNumber"] = string.Empty, |
|
|
|
}); |
|
|
|
|
|
|
|
// Arrange
|
|
|
|
_orderRepositoryMock.Setup(orderRepo => orderRepo.GetAsync(It.IsAny<int>())) |
|
|
|
.Returns(Task.FromResult<Order>(FakeOrder())); |
|
|
|
|
|
|
|
_orderRepositoryMock.Setup(buyerRepo => buyerRepo.UnitOfWork.SaveChangesAsync(default(CancellationToken))) |
|
|
|
.Returns(Task.FromResult(1)); |
|
|
|
|
|
|
|
_identityServiceMock.Setup(svc => svc.GetUserIdentity()).Returns(buyerId); |
|
|
|
//Act
|
|
|
|
var handler = new CreateOrderCommandHandler(_mediator.Object, _orderRepositoryMock.Object, _identityServiceMock.Object); |
|
|
|
|
|
|
|
//Assert
|
|
|
|
await Assert.ThrowsAsync<ArgumentException>(async () => await handler.Handle(fakeOrderCmd)); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task Handle_throws_exception_when_no_cardNumber() |
|
|
|
{ |
|
|
|
|
|
|
|
var orderId = "1234"; |
|
|
|
|
|
|
|
var fakeOrderCmd = FakeOrderRequestWithBuyer(new Dictionary<string, object> |
|
|
|
{ |
|
|
|
["cardExpiration"] = DateTime.Now.AddYears(1), |
|
|
|
["cardNumber"] = string.Empty, |
|
|
|
}); |
|
|
|
|
|
|
|
// Arrange
|
|
|
|
_orderRepositoryMock.Setup(orderRepo => orderRepo.GetAsync(It.IsAny<int>())) |
|
|
|
.Returns(Task.FromResult<Order>(FakeOrder())); |
|
|
|
|
|
|
|
_orderRepositoryMock.Setup(orderRepo => orderRepo.UnitOfWork.SaveChangesAsync(default(CancellationToken))) |
|
|
|
.Returns(Task.FromResult(1)); |
|
|
|
|
|
|
|
_identityServiceMock.Setup(svc => svc.GetUserIdentity()).Returns(orderId); |
|
|
|
//Act
|
|
|
|
var handler = new CreateOrderCommandHandler(_mediator.Object, _orderRepositoryMock.Object, _identityServiceMock.Object); |
|
|
|
|
|
|
|
//Assert
|
|
|
|
await Assert.ThrowsAsync<ArgumentException>(async () => await handler.Handle(fakeOrderCmd)); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Handle_throws_exception_when_no_buyerId() |
|
|
|
{ |
|
|
|