public void TwoInstances_SameIdInput_AreEqual() { const int identityId = 13251235; var sut1 = new Transaction { Id = identityId }; var sut2 = new Transaction { Id = identityId }; Assert.AreEqual(sut1, sut2); }
public Transaction GetPaymentApprovalAndGenerateTransaction(int accountId) { var shoppingCart = _accountRepository.GetCurrentShoppingCart(accountId); var paymentGatewayResultDto = _paymentGateway.ApprovePayment(shoppingCart); var transaction = new Transaction { GrossAmount = paymentGatewayResultDto.ApprovedTotal }; _transactionsRepository.Save(transaction); return transaction; }
public void GetPaymentApprovalAndGenerateTransactionMethod_AccountPassedToConstructor_GeneratesApprovalAndTransaction() { // declare constants const decimal totalAmount = 35.27M; const int accountId = 12354; var shoppingCart = new ShoppingCart { Id = 12531515, Total = totalAmount, Account = new Account { Id = accountId, CreditCardInfo = new CreditCardInfo() } }; var paymentGatewayResultDto = new PaymentGatewayResultDTO { ApprovedTotal = totalAmount }; var transaction = new Transaction { GrossAmount = totalAmount }; // set expectations Expect.Call(_accountRepository.GetCurrentShoppingCart(accountId)).Return(shoppingCart); Expect.Call(_paymentGateway.ApprovePayment(shoppingCart)).Return(paymentGatewayResultDto); _transactionsRepository.Save(transaction); _mockRepository.ReplayAll(); var sut = new ProcessTransactionService(_accountRepository, _transactionsRepository, _paymentGateway); sut.GetPaymentApprovalAndGenerateTransaction(accountId); _mockRepository.VerifyAll(); Assert.AreEqual(shoppingCart.Total, paymentGatewayResultDto.ApprovedTotal); Assert.AreEqual(paymentGatewayResultDto.ApprovedTotal, transaction.GrossAmount); }
public void Save(Transaction transaction) { // happy path transaction.Id = 1253123; }