Example #1
0
        public async void TestGetAccount_ValidId_Success()
        {
            var accounts = await _accountClient.GetAccounts();

            var resp = await _accountClient.GetAccount(accounts.First().Id);

            Assert.NotNull(resp);
        }
Example #2
0
        public async void Test_Transfer()
        {
            string currency = "GBP";
            var    accounts = await _accountApiClient.GetAccounts();

            GetAccountResp accountResp1 = null;
            GetAccountResp accountResp2 = null;

            try
            {
                accountResp1 = accounts.Where(x => x.Currency == currency).First();
                accounts.Remove(accountResp1);
                accountResp2 = accounts.Where(x => x.Currency == currency).First();
            }
            catch (InvalidOperationException ex)
            {
                throw new Exception($"Missing account with {currency} currency");
            }

            TransferReq req = new TransferReq
            {
                RequestId       = DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString(),
                SourceAccountId = accountResp1.Id,
                TargetAccountId = accountResp2.Id,
                Amount          = 100,
                Currency        = currency
            };

            var resp = await _paymentClient.CreateTransfer(req);

            Assert.NotNull(resp);
        }
Example #3
0
        public async Task Test_CancelPayment()
        {
            var currency = "GBP";
            var accounts = await _accountApiClient.GetAccounts();

            var accountId = accounts.First(i => i.Currency == currency);

            await Task.Delay(200);

            var contrerparties = await _counterpartyApiClient.GetCounterparties();

            var counterParty = contrerparties.FirstOrDefault(i => i.Accounts.Any(a => a.Currency == currency));

            if (counterParty == null)
            {
                throw new NullReferenceException($"{nameof(counterParty)} cannot be null.");
            }

            await Task.Delay(200);

            var req = new SchedulePaymentReq
            {
                RequestId   = Guid.NewGuid().ToString(),
                AccountId   = accountId.Id,
                Amount      = 100,
                Currency    = currency,
                Reference   = "Invoice payment #123",
                ScheduleFor = DateTime.Now.AddDays(2),
                Receiver    = new ReceiverData
                {
                    CounterpartyId = counterParty.Id,
                    AccountId      = counterParty.Accounts.First(i => i.Currency == currency).Id
                }
            };

            var transaction = await _paymentClient.SchedulePayment(req);

            Assert.NotNull(transaction);

            await Task.Delay(200);

            var resp = await _paymentClient.CancelPayment(transaction.Value.Id);

            Assert.True(resp);
        }
Example #4
0
        public async void TestGetAccounts_Success()
        {
            List <GetAccountResp> resp = await _accountClient.GetAccounts();

            Assert.NotNull(resp);
        }