public async Task GivenAccountRepository_WhenCallCreate_ShouldSuccess() { using (var context = await InMemoryDbContextFactory.CreateUserContext()) { // assign var testData = (memebrId : 0, accountId : 0, memebrAccountId : 1); var member = MemberDataBuilder.CreateMember(testData.memebrId, new List <MemberAccount>(), null, null); await context.Members.AddAsync(member); await context.SaveChangesAsync(); var memberAccount = MemberDataBuilder.CreateMemberAccount(testData.memebrAccountId, testData.accountId, testData.memebrId); var account = AccountDataBuilder.CreateAccount(testData.accountId, new List <MemberAccount> { memberAccount }); // act var repo = new AccountRepository(context); await repo.Create(account); await context.SaveChangesAsync(); // assert account.Id.ShouldBeGreaterThan(0); } }
public void GivenAccountMapper_WhenMapAccountToAccountModel_ShouldMapSuccessful(long id, AccountStatusIds accountStatusId, decimal accountBalance, decimal pendingBalance, string accountNumber) { // assign var memberAccounts = new List <MemberAccount> { MemberDataBuilder.CreateMemberAccount(1, id, 2), }; var account = AccountDataBuilder.CreateAccount(id, memberAccounts, accountStatusId, accountBalance, pendingBalance, accountNumber); account.AccountStatus = new AccountStatus { Id = (long)accountStatusId, Name = accountStatusId.ToString() }; // act var accountModel = _mapper.Map <AccountModel>(account); // assert accountModel.ShouldNotBeNull(); accountModel.ShouldSatisfyAllConditions( () => accountModel.AccountNumber.ShouldBe(account.AccountNumber), () => accountModel.AccountStatus.ShouldBe(account.AccountStatus.Name), () => accountModel.Id.ShouldBe(account.Id), () => accountModel.AccountBalance.ShouldBe(account.AccountBalance), () => accountModel.PendingBalance.ShouldBe(account.PendingBalance), () => accountModel.AvailableBalance.ShouldBe(account.AccountBalance + account.PendingBalance)); }
public void GivenCommonMapper_WhenMapSimpleResponseToApiSimpleResponse_ShouldMapSuccessfully() { // assign var account = AccountDataBuilder.CreateAccount(1, null); var simpleResponse = SimpleResponse <Account> .Create(account); // act var apiSimpleResponse = _mapper.Map <ApiSimpleResponse <AccountModel> >(simpleResponse); //assert apiSimpleResponse.ShouldSatisfyAllConditions( () => apiSimpleResponse.ShouldNotBeNull(), () => apiSimpleResponse.Data.ShouldNotBeNull()); }
private static async Task <Account> CreateOneAccountWithOneMember(int accountId, int memberId, UserContext context) { var memberAccount = MemberDataBuilder.CreateMemberAccount(1, accountId, memberId); var member = MemberDataBuilder.CreateMember(1, new List <MemberAccount> { memberAccount }, null, null); var account = AccountDataBuilder.CreateAccount(1, new List <MemberAccount> { memberAccount }); await context.Accounts.AddAsync(account); await context.Members.AddAsync(member); await context.SaveChangesAsync(); return(account); }
public async Task GivenAccountService_WhenCallSignUpAccount_IfMemberIsQualifiedToSignUp_ShouldRerunAccount() { // assign var member = MemberDataBuilder.CreateMember(1, null, null, null); var evaluatedResult = AccountSignUpResult.Success(); var account = AccountDataBuilder.CreateAccount(1, null); MockAccountSignUpStrategyResult(evaluatedResult, member); MockAccountSequenceNumber(100000001); _accountFactory.Create("ZIP0100000001", member.Id).Returns(account); // act var signedUpAccount = await _accountService.SignUpAccount(member); // assert await _accountDataAccessor.Received(1).Create(signedUpAccount); signedUpAccount.ShouldBe(account); }
public void GivenCommonMapper_WhenMapPaginationResponseToApiPaginationResponse_ShouldMapSuccessfully() { // assign var account = AccountDataBuilder.CreateAccount(1, null); var paginationResponse = new PaginationResponse <Account> { TotalPageNumber = 30, Data = new List <Account> { account } }; // act var apiPaginationResponse = _mapper.Map <ApiPaginationResponse <Account> >(paginationResponse); //assert apiPaginationResponse.ShouldSatisfyAllConditions( () => apiPaginationResponse.ShouldNotBeNull(), () => apiPaginationResponse.TotalPageNumber.ShouldBe(paginationResponse.TotalPageNumber), () => apiPaginationResponse.Data.ShouldNotBeNull(), () => apiPaginationResponse.Data.Count().ShouldBe(paginationResponse.Data.Count())); }
public async Task GivenSignUpAccountHandler_WhenCallHandle_IfMemberFound_ShouldSignUpAccount() { // assign var query = new SignUpAccountCommand { MemberId = 1 }; var member = MemberDataBuilder.CreateMember(1, null, null, null); var account = AccountDataBuilder.CreateAccount(1, null); _memberService.GetMemberById(query.MemberId).Returns(member); _accountService.SignUpAccount(member).Returns(account); _accountService.GetAccountById(account.Id).Returns(account); // act var response = await _signUpAccountHandler.Handle(query, CancellationToken.None); // assert await _unitOfWork.Received(1).SaveChangesAsync(CancellationToken.None); response.ShouldNotBeNull(); response.Data.ShouldBe(account); }