public async Task RunStatement(int index, bool result) { var testData = PandaStatementCreateContractTestData.pandaStatementCreateContracts(now)[index]; var runStatementResult = await accountLogic.RunStatement(testData); Assert.Equal(runStatementResult.IsError(), result); }
public AccountLogicTest() { var mock = new MockRepository(MockBehavior.Default); _accountRepository = new Mock <IAccountRepository>(); var mappingConfig = new MapperConfiguration(mc => { mc.AddProfile(new MappingProfile()); }); _mapper = mappingConfig.CreateMapper(); #region CanActiveAccount _accountRepository .Setup(s => s.GetAccountStatus(AccountIdSuccess)) .Returns(Task.FromResult(true)); _accountRepository .Setup(s => s.GetAccountStatus(AccountIdFail)) .Returns(Task.FromResult(false)); _accountRepository .Setup(s => s.IsPaticipant(AccountIdSuccess, UserIdSuccess)) .Returns(Task.FromResult(true)); _accountRepository .Setup(s => s.IsPaticipant(AccountIdSuccess, userIdFail)) .Returns(Task.FromResult(false)); _accountRepository .Setup(s => s.IsPaticipant(AccountIdFail, UserIdSuccess)) .Returns(Task.FromResult(false)); _accountRepository .Setup(s => s.IsPaticipant(AccountIdFail, userIdFail)) .Returns(Task.FromResult(false)); #endregion #region CanUpdateBalance _accountRepository .Setup(s => s.GetAccountBalance(accountHundred)) .Returns(Task.FromResult(balanceHundred)); _accountRepository .Setup(s => s.GetAccountBalance(accountThousand)) .Returns(Task.FromResult(balanceThousand)); #endregion #region RunStatement var test0 = PandaStatementCreateContractTestData.pandaStatementCreateContracts(now)[0]; var new0 = new PandaStatement(); _mapper.Map(test0, new0); var test1 = PandaStatementCreateContractTestData.pandaStatementCreateContracts(now)[1]; var new1 = new PandaStatement(); _mapper.Map(test1, new1); _accountRepository .Setup(s => s.CreateStatement(It.Is <PandaStatement>(m => m.Balances == new0.Balances && m.CreatedAt == new0.CreatedAt && m.Id == new0.Id && m.Status == new0.Status ))) .Returns(Task.FromResult(PandaResponse.CreateSuccessResponse(true))); _accountRepository .Setup(s => s.UpdateAccountBalance(new0.PandaAccountId, new0.Balances)) .Returns(Task.FromResult(PandaResponse.CreateSuccessResponse(true))); _accountRepository .Setup(s => s.CreateStatement(new1)) .Returns(Task.FromResult(PandaResponse.CreateErrorResponse <bool>("test error"))); _accountRepository .Setup(s => s.UpdateAccountBalance(new1.PandaAccountId, new1.Balances)) .Returns(Task.FromResult(PandaResponse.CreateErrorResponse <bool>("test error"))); #endregion accountLogic = new AccountLogic( _accountRepository.Object, _mapper); }