示例#1
0
        public void SuccessTest()
        {
            //Arrange
            Guid   candidateId      = Guid.NewGuid();
            string verificationCode = "1234";

            Candidate candidate = new CandidateBuilder(candidateId).MobileVerificationCode(verificationCode).AllowMobile(true).VerifiedMobile(false).Build();
            var       candidateReadRepository = new Mock <ICandidateReadRepository>();

            candidateReadRepository.Setup(r => r.Get(candidateId)).Returns(candidate);

            //candidateReadRepository.Setup()
            var candidateWriteRepository = new Mock <ICandidateWriteRepository>();

            candidateWriteRepository.Setup(r => r.Save(It.IsAny <Candidate>())).Callback <Candidate>(c => { candidate = c; });

            var verifyMobileStrategy = new VerifyMobileStrategyBuilder().With(candidateReadRepository).With(candidateWriteRepository).Build();

            //Act
            verifyMobileStrategy.VerifyMobile(candidateId, verificationCode);

            //Assert
            candidateWriteRepository.Verify(r => r.Save(It.IsAny <Candidate>()), Times.Once);
            candidate.CommunicationPreferences.AllowMobile.Should().BeTrue();
            candidate.CommunicationPreferences.MobileVerificationCode.Should().BeNullOrEmpty();
            candidate.CommunicationPreferences.VerifiedMobile.Should().BeTrue();
            candidate.MobileVerificationRequired().Should().BeFalse();
        }
        [TestCase(true, true, false)]   // sms, verified mobile
        public void ShouldRequireMobileVerification(bool enableAnyText, bool verifiedMobile, bool expected)
        {
            var candidate = new CandidateBuilder(Guid.NewGuid())
                            .EnableOneCommunicationPreferenceViaText(enableAnyText)
                            .VerifiedMobile(verifiedMobile)
                            .Build();

            candidate.MobileVerificationRequired().Should().Be(expected);
        }
示例#3
0
        public void SuccessTest()
        {
            //Arrange
            var          candidateId      = Guid.NewGuid();
            const string verificationCode = "1234";

            var candidate = new CandidateBuilder(candidateId)
                            .MobileVerificationCode(verificationCode)
                            .MobileVerificationCodeDateCreated(DateTime.UtcNow)
                            .EnableApplicationStatusChangeAlertsViaText(true)
                            .VerifiedMobile(false).Build();

            var candidateReadRepository = new Mock <ICandidateReadRepository>();

            candidateReadRepository.Setup(r => r.Get(candidateId)).Returns(candidate);

            var candidateWriteRepository = new Mock <ICandidateWriteRepository>();

            candidateWriteRepository.Setup(r => r.Save(It.IsAny <Candidate>())).Callback <Candidate>(c => { candidate = c; });

            var verifyMobileStrategy = new VerifyMobileStrategyBuilder()
                                       .With(candidateReadRepository)
                                       .With(candidateWriteRepository)
                                       .Build();

            //Act
            verifyMobileStrategy.VerifyMobile(candidateId, verificationCode);

            //Assert
            candidateWriteRepository.Verify(r => r.Save(It.IsAny <Candidate>()), Times.Once);
            candidate.CommunicationPreferences.ApplicationStatusChangePreferences.EnableText.Should().BeTrue();
            candidate.CommunicationPreferences.MobileVerificationCode.Should().BeNullOrEmpty();
            candidate.CommunicationPreferences.MobileVerificationCodeDateCreated.Should().NotHaveValue();
            candidate.CommunicationPreferences.VerifiedMobile.Should().BeTrue();
            candidate.MobileVerificationRequired().Should().BeFalse();
        }