public void TestSearchAccount() { var model = new AccountLaunch { AccountCredit = "9baaa92e-7945-47ba-aee5-6d7e9386322b", AccountDebit = "d61fd10c-9f1b-4995-9c3b-3c531f489ca0", Value = 100 }; var accountAppService = new Mock <IAccountAppService>(); accountAppService.Setup(r => r.LaunchDispenseAccountAsync(model)); Assert.Equal(model, model); //var mocker = new AutoMoqer(); //mocker.Create<AccountService>(); //var customerService = mocker.Resolve<AccountService>(); //var repo = mocker.GetMock<IAccountRepository>(); ////ACT // var result = accountAppService.Object.LaunchDispenseAccountAsync(model); ////ASERT //repo.Verify(r => r.GetAccountAsync("9baaa92e-7945-47ba-aee5-6d7e9386322b")); }
public async Task <AccountLaunch> LaunchDispenseAccountAsync(AccountLaunch accountLaunch) => await GetService().LaunchDispenseAccountAsync(accountLaunch);
public async Task <AccountLaunch> LaunchDispenseAccountAsync(AccountLaunch accountLaunch) { var accountCredit = await GetAccountAsync(accountLaunch.AccountCredit); var accountDebit = await GetAccountAsync(accountLaunch.AccountDebit); if (accountDebit == null) { return new AccountLaunch { Message = messages.ACCOUNT_DEBIT_NOT_EXISTS(), State = false } } ; if (accountLaunch.Value > accountDebit.CreditInCash) { return new AccountLaunch { Message = messages.ACCOUNT_FOUNDS_INSUFFICIENT(), State = false } } ; if (accountCredit == null) { return new AccountLaunch { Message = messages.ACCOUNT_NOT_FOUND(), State = false } } ; var list = new List <AccountLaunch> { new AccountLaunch { AccountCredit = accountCredit.Account, Value = (accountCredit.CreditInCash + accountLaunch.Value), State = true, Debit = false }, new AccountLaunch { AccountDebit = accountDebit.Account, Value = (accountDebit.CreditInCash - accountLaunch.Value), State = true, Debit = true } }; await UpdateAccountsAsync(list); logsService.SaveLog(list); return(new AccountLaunch { Message = messages.DEBIT_MADE_SUCCESS(), State = true }); } #endregion } }