public void ProcessOrder__InvalidPaymentGateway_ThrowsException() { //Arrange var orderData = new OrderRequestDataBuilder().Build(); orderData.PaymentGateway = PaymentGatewayEnum.InvalidGatewayIdForTests; SetupProcessPaymentData(orderData); //Act and assert Assert.ThrowsException <InvalidOperationException>(() => processOrderOperation.ProcessOrder(orderData)); }
public void ProcessOrder_ValidOrder_OrderResponse() { //Arrange var orderData = new OrderRequestDataBuilder().Build(); SetupProcessPaymentData(orderData); //Act var orderResponse = processOrderOperation.ProcessOrder(orderData); //Assert paymentGatewayServiceMock.Verify(x => x.ProcessPaymentData(It.IsAny <ProcessOrderRequestData>()), Times.Once); Assert.AreEqual(orderData.OrderNumber, orderResponse.OrderNumber); Assert.AreEqual(orderData.UserId, orderResponse.UserId); Assert.IsNotNull(orderResponse.ReceiptData); }
public void ProcessOrder__GatewayServiceFailure_OrderResponseWithErrorMessage() { //Arrange var orderData = new OrderRequestDataBuilder().Build(); SetupMock(orderData, null); //Act var orderResponse = processOrderOperation.ProcessOrder(orderData); //Assert Assert.IsNotNull(orderResponse.ErrorMessage); Assert.IsNotNull(orderResponse.OrderNumber); Assert.IsNotNull(orderResponse.UserId); Assert.IsNull(orderResponse.ReceiptData); Assert.IsFalse(orderResponse.PaymentAccepted); }