Exemplo n.º 1
0
        public JsonResult Post([FromBody] TransferInputModel transferDataInput)
        {
            var _code    = "200";
            var _message = "success";

            if (transferDataInput.transfer_amount <= 0)
            {
                _code    = "400";
                _message = "success";
            }

            TransferOutputModel TransferOutput = new TransferOutputModel
            {
                header = new HeaderModel
                {
                    status  = _code,
                    message = _message
                },
                body = new BodyModel
                {
                    transfer_amount = transferDataInput.transfer_amount,
                    datetime        = DateTime.Now.ToString("yyyy-MM-ddThh:mm:sszzz")
                },
            };

            return(Json(TransferOutput));
        }
        private TransferOutputModel _JsonOutput(HeaderModel header, TransferOutputDataModel data)
        {
            TransferOutputModel transferOutputModel = new TransferOutputModel {
                header = header,
                body   = data
            };

            return(transferOutputModel);
        }
Exemplo n.º 3
0
        public void When_Accumulated_Between_0_And_100000_Should_Be_False(double transferAmount)
        {
            var transferInput = new TransferInputModel {
                transfer_amount        = transferAmount,
                destination_account_id = "7581233661",
                destination_bank       = "KBANK",
                destination_bank_area  = "BKK01",
                origin_account_id      = "6320445476",
                origin_account_balance = 50000,
                origin_bank            = "KBANK",
                origin_bank_area       = "BKK01",
                origin_account_daily_accumulated_transfer = 95000
            };

            TransferService     transferService = new TransferService();
            TransferOutputModel actualResult    = transferService.TransferMoney(transferInput);

            Assert.Equal("400-03", actualResult.header.code);
        }
Exemplo n.º 4
0
        public void When_TransferAmount_With_Fee_More_Than_Account_Balance_Should_Be_Cant_Transfer()
        {
            var transferInput = new TransferInputModel {
                transfer_amount        = 5000,
                destination_account_id = "7581233661",
                destination_bank       = "SCB",
                destination_bank_area  = "",
                origin_account_id      = "6320445476",
                origin_account_balance = 5000,
                origin_bank            = "KBANK",
                origin_bank_area       = "BKK01",
                origin_account_daily_accumulated_transfer = 0
            };

            TransferService     transferService = new TransferService();
            TransferOutputModel actualResult    = transferService.TransferMoney(transferInput);

            Assert.Equal("400-04", actualResult.header.code);
        }
Exemplo n.º 5
0
        public void When_TransferAmount_Difference_Bank__Should_Be_Fee_35THB()
        {
            var transferInput = new TransferInputModel {
                transfer_amount        = 100,
                destination_account_id = "7581233661",
                destination_bank       = "SCB",
                destination_bank_area  = "",
                origin_account_id      = "6320445476",
                origin_account_balance = 50000,
                origin_bank            = "KBANK",
                origin_bank_area       = "BKK01",
                origin_account_daily_accumulated_transfer = 0
            };

            TransferService     transferService = new TransferService();
            TransferOutputModel actualResult    = transferService.TransferMoney(transferInput);

            Assert.Equal("200", actualResult.header.code);
            Assert.Equal("35", actualResult.body.fee_amount);
        }
Exemplo n.º 6
0
        public void When_TransferAmount_Between_1_And_20000_Should_Be_Can_Transfer(double transferAmount)
        {
            var transferInput = new TransferInputModel {
                transfer_amount        = transferAmount,
                destination_account_id = "7581233661",
                destination_bank       = "KBANK",
                destination_bank_area  = "BKK01",
                origin_account_id      = "6320445476",
                origin_account_balance = 50000,
                origin_bank            = "KBANK",
                origin_bank_area       = "BKK01",
                origin_account_daily_accumulated_transfer = 0
            };

            TransferService     transferService = new TransferService();
            TransferOutputModel actualResult    = transferService.TransferMoney(transferInput);

            Assert.Equal("200", actualResult.header.code);
            Assert.Equal(transferAmount.ToString(), actualResult.body.transfer_amount);
        }