Beispiel #1
0
        public void CreateTransaction_Should_Return_Ok()
        {
            var transactionApiResult  = new TransactionsApiResult();
            var transactionCOntroller = new TransactionsController(_transactionService, _log);

            Substitute.For <HttpRequest>();

            _transactionService.CreateTransaction(Arg.Any <CreateTranscationRequest>(), out transactionApiResult)
            .Returns(HttpStatusCode.OK);

            var response = (HttpWebResponse)transactionCOntroller.Create(Arg.Any <CreateTransactionRequestModel>());

            Assert.AreEqual(response.StatusCode, HttpStatusCode.OK);
        }
Beispiel #2
0
        public void CreateTransaction_Should_Return_Error_When_Transaction_Failed()
        {
            _transactionService = new TransactionService(_log);
            var transactionApiResult = new TransactionsApiResult();

            _transactionService.CreateTransaction(Arg.Any <CreateTranscationRequest>(), out transactionApiResult)
            .Returns(HttpStatusCode.InternalServerError);

            var httpStatusCode = _transactionService.CreateTransaction(new CreateTranscationRequest(), out transactionApiResult);

            Assert.IsTrue(httpStatusCode == HttpStatusCode.InternalServerError);
            Assert.IsTrue(transactionApiResult.Status == ApiStatusCode.Error);
            Assert.IsNotNull(transactionApiResult.Data);
            Assert.IsTrue(((CreateTransactionResponse)transactionApiResult.Data).TransactionStatus == "Failed");
        }
Beispiel #3
0
        public void CreateTransaction_Should_Return_Success_When_Transaction_Is_Success()
        {
            _transactionService = new TransactionService(_log);
            var transactionApiResult = new TransactionsApiResult();

            _transactionService.CreateTransaction(Arg.Any <CreateTranscationRequest>(), out transactionApiResult)
            .Returns(HttpStatusCode.OK);

            var httpStatusCode = _transactionService.CreateTransaction(new CreateTranscationRequest(), out transactionApiResult);

            Assert.IsTrue(httpStatusCode == HttpStatusCode.OK);
            Assert.IsTrue(transactionApiResult.Status == ApiStatusCode.Success);
            Assert.IsNotNull(transactionApiResult.Data);
            Assert.IsTrue(((CreateTransactionResponse)transactionApiResult.Data).TransactionStatus == "Success");
        }
        public HttpStatusCode CreateTransaction(CreateTranscationRequest createTranscationRequest, out TransactionsApiResult transactionsApiResult)
        {
            _log.LogInformation("\nTransactionService.CreateTransaction - Started. - " + DateTime.Now);

            transactionsApiResult = WriteTransaction(createTranscationRequest.AccountNumber, createTranscationRequest.BSB, createTranscationRequest.FirstName, createTranscationRequest.LastName, createTranscationRequest.Reference, createTranscationRequest.Amount);

            if (transactionsApiResult.Status != ApiStatusCode.Success)
            {
                _log.LogError(new EventId(), (Exception)transactionsApiResult.Data, "\nTransactionService.CreateTransaction - Failed. - " + DateTime.Now);

                transactionsApiResult.Data = new CreateTransactionResponse
                {
                    TransactionStatus = "Failed"
                };

                return(HttpStatusCode.InternalServerError);
            }

            transactionsApiResult.Data = new CreateTransactionResponse
            {
                TransactionStatus = "Success"
            };

            _log.LogInformation("\nTransactionService.CreateTransaction - Ended. - " + DateTime.Now);
            return(HttpStatusCode.OK);
        }