public async Task Unit_CreateNewPayment_ExpectPaymentInResult() { Account newAccount = new Account { Name = "Test Account" }; _context.Accounts.Add(newAccount); _context.SaveChanges(); Transaction deposit = new Transaction { AccountId = newAccount.Id, Amount = 1000000, Date = new DateTime(2020, 1, 1), TransactionStatus = TransactionStatusEnum.Processed, TransactionType = TransactionTypeEnum.Deposit, CreationDate = new DateTime(2020, 1, 1), LastUpdateDate = new DateTime(2020, 1, 1) }; _context.Transactions.Add(deposit); _context.SaveChanges(); TransactionCreatorService creator = new TransactionCreatorService(_mockPaymentLogger.Object, _mapper, newAccount.Id, 10000, new DateTime(2020, 1, 1), _accountRepo, _transRepo, TransactionStatusEnum.Pending, TransactionTypeEnum.Withdrawal, Messages.Payment_FailedToCreate); ServiceResult result = await creator.CreateTransaction(); result.Should().NotBeNull(); result.StatusCode.Should().Be(StatusCodes.Status201Created); TransactionResultDto transaction = JsonConvert.DeserializeObject <TransactionResultDto>(result.ContentResult); transaction.Should().NotBeNull(); transaction.AccountId.Should().Be(newAccount.Id); transaction.Amount.Should().Be(10000); transaction.Date.Should().Be(new DateTime(2020, 1, 1)); transaction.TransactionStatus.Should().Be(TransactionStatusEnum.Pending.ToString()); }
public async Task Unit_CreateNewDeposit_AccountNegative_ExpectNotFound(int accountId) { TransactionCreatorService creator = new TransactionCreatorService(_mockDepositLogger.Object, _mapper, accountId, 10000, new DateTime(2020, 1, 1), _accountRepo, _transRepo, TransactionStatusEnum.Processed, TransactionTypeEnum.Deposit, Messages.Deposit_FailedToCreate); ServiceResult result = await creator.CreateTransaction(); result.Should().NotBeNull(); result.StatusCode.Should().Be(StatusCodes.Status404NotFound); result.ContentResult.Should().Contain(Messages.Account_AccountNotFound); }
public async Task <IActionResult> CreateNewPayment([FromBody] TransactionInsertDto objDto) { TransactionCreatorService creator = new TransactionCreatorService(_logger, _mapper, (int)objDto.AccountId, (decimal)objDto.Amount, (DateTime)objDto.Date, _accountRepo, _transRepo, TransactionStatusEnum.Pending, TransactionTypeEnum.Withdrawal, Messages.Payment_FailedToCreate); return(this.GetActionResultFromServiceResult(await creator.CreateTransaction())); }