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); }
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(); }