示例#1
0
        private AccountSignUpStrategy MockAccountSignUpStrategyResult(AccountSignUpResult evaluatedResult, Member member)
        {
            var strategy = AccountSignUpStrategyDataBuilder.CreateAccountSignUpStrategy(1);

            _accountSignUpStrategyDataAccessor.GetDefaultStrategy().Returns(strategy);
            _accountSignUpService.Evaluate(member, strategy).Returns(evaluatedResult);
            return(strategy);
        }
示例#2
0
        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>());
        }
示例#3
0
        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());
 }