private AccountSignUpStrategy MockAccountSignUpStrategyResult(AccountSignUpResult evaluatedResult, Member member) { var strategy = AccountSignUpStrategyDataBuilder.CreateAccountSignUpStrategy(1); _accountSignUpStrategyDataAccessor.GetDefaultStrategy().Returns(strategy); _accountSignUpService.Evaluate(member, strategy).Returns(evaluatedResult); return(strategy); }
public async Task GivenAccountService_WhenCallSignUpAccount_IfMemberIsNoQualifiedToSignUp_ShouldRaiseException() { // assign var member = MemberDataBuilder.CreateMember(1, null, null, null); var evaluatedResult = AccountSignUpResult.Fail("Month net income is too low."); MockAccountSignUpStrategyResult(evaluatedResult, member); MockAccountSequenceNumber(100000001); // act var exception = await Should.ThrowAsync <BusinessException>(() => _accountService.SignUpAccount(member)); // assert exception.IsBadRequest.ShouldBeTrue(); exception.BusinessErrorMessage.ShouldContain(evaluatedResult.ReasonPhase); await _accountDataAccessor.DidNotReceive().Create(Arg.Any <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 AccountSignUpResult CanSignUp(Member member, AccountSignUpStrategy strategy) { return(AccountSignUpResult.Fail("always failed!")); }
public AccountSignUpResult CanSignUp(Member member, AccountSignUpStrategy strategy) { return(AccountSignUpResult.Success()); }