public void GivenValidCode_DefaultViewModelIsReturned() { //Arrange var candidateId = Guid.NewGuid(); var candidateMock = new CandidateBuilder(candidateId) .EnableApplicationStatusChangeAlertsViaText(true) .PhoneNumber(PhoneNumber) .VerifiedMobile(false) .Build(); var candidateServiceMock = new Mock <ICandidateService>(); candidateServiceMock.Setup(cs => cs.GetCandidate(candidateId)).Returns(candidateMock); candidateServiceMock.Setup(cs => cs.SendMobileVerificationCode(candidateMock)); var viewModel = new VerifyMobileViewModelBuilder().PhoneNumber(PhoneNumber).Build(); var provider = new AccountProviderBuilder().With(candidateServiceMock).Build(); //Act var result = provider.SendMobileVerificationCode(candidateId, viewModel); //Assert result.Status.Should().Be(VerifyMobileState.Ok); result.HasError().Should().BeFalse(); result.ViewModelMessage.Should().BeNullOrEmpty(); }
public void GivenEntityStateError_ThenValidViewModelIsReturned(string errorCode, VerifyMobileState verifyMobileState) { //Arrange var candidateId = Guid.NewGuid(); var candidateMock = new CandidateBuilder(candidateId) .EnableApplicationStatusChangeAlertsViaText(true) .PhoneNumber(PhoneNumber) .VerifiedMobile(false) .Build(); var candidateServiceMock = new Mock <ICandidateService>(); candidateServiceMock.Setup(cs => cs.GetCandidate(candidateId)).Returns(candidateMock); candidateServiceMock.Setup(cs => cs.SendMobileVerificationCode(candidateMock)).Throws(new CustomException(errorCode)); var viewModel = new VerifyMobileViewModelBuilder().PhoneNumber(PhoneNumber).Build(); var provider = new AccountProviderBuilder().With(candidateServiceMock).Build(); //Act var result = provider.SendMobileVerificationCode(candidateId, viewModel); //Assert result.Status.Should().Be(verifyMobileState); result.HasError().Should().BeTrue(); result.ViewModelMessage.Should().NotBeNull(); }