public void ProcessPaymentAction_ValidationService_Failed() { //Mock //Returns an error result in validation var mockValService = new Mock <IValidationService>(); mockValService.Setup(v => v.ProcessValidation(It.IsAny <IValidatorManager <PaymentValidator, RepoModel.Payment> >(), It.IsAny <RepoModel.Payment>())) .Returns( Task.FromResult(new Result { ErrorCode = ErrorCode.InvalidCardNumber, StatusCode = StatusCode.Failed, StatusDetail = "Test Invalid Card Number." } as object)); //Arrange var action = new ProcessPaymentAction(_mockRepoTrue.Object, mockValService.Object, _mockBankProcessorObj.Object, _mockValManager.Object, _log); //Act var result = action.ProcessAction(_apiPayment).Result; //Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(Result)); Assert.IsTrue(((Result)result).StatusCode == StatusCode.Failed); Assert.IsTrue(((Result)result).ErrorCode == ErrorCode.InvalidCardNumber); }
public void ProcessPaymentAction_AggregateException() { //Arrange var action = new ProcessPaymentAction(_mockRepoTrue.Object, _mockValService.Object, _mockBankProcessorObj.Object, _mockValManager.Object, _log); //Act and Assert Assert.ThrowsException <AggregateException>(() => action.ProcessAction(null).Result, "Parameter is null. Invalid value."); }
public void ProcessPaymentAction_Successful() { //Arrange var action = new ProcessPaymentAction(_mockRepoTrue.Object, _mockValService.Object, _mockBankProcessorObj.Object, _mockValManager.Object, _log); //Act var result = action.ProcessAction(_apiPayment).Result; //Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(RepoModel.Payment)); }
public void ProcessPaymentAction_BankProcessor_Failed() { //Arrange var action = new ProcessPaymentAction(_mockRepoFalse.Object, _mockValService.Object, _mockBankProcessorEx.Object, _mockValManager.Object, _log); //Act var result = action.ProcessAction(_apiPayment).Result; //Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(Result)); Assert.IsTrue(((Result)result).StatusCode == StatusCode.Failed); Assert.IsTrue(((Result)result).ErrorCode == ErrorCode.PaymentFailed); }