コード例 #1
0
        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());
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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()));
        }