public void SaveErrorTest() { var settingsViewModel = new SettingsViewModel { Address = new AddressViewModel { AddressLine1 = "Add1", AddressLine2 = "Add2", AddressLine3 = "Add3", AddressLine4 = "Add4", Postcode = "N7 8LS" }, DateOfBirth = new DateViewModel { Day = DateTime.UtcNow.Day, Month = DateTime.UtcNow.Month, Year = DateTime.UtcNow.Year }, PhoneNumber = "079824524523", Firstname = "FN", Lastname = "LN" }; // ReSharper disable once RedundantAssignment var candidate = new Candidate(); var accountProviderMock = new Mock <IAccountProvider>(); accountProviderMock.Setup(x => x.TrySaveSettings(It.IsAny <Guid>(), It.IsAny <SettingsViewModel>(), out candidate)).Returns(false); var accountMediator = new AccountMediatorBuilder().With(accountProviderMock.Object).Build(); var response = accountMediator.SaveSettings(Guid.NewGuid(), settingsViewModel); response.Code.Should().Be(AccountMediatorCodes.Settings.SaveError); response.ViewModel.Should().Be(settingsViewModel); response.Message.Text.Should().Be(AccountPageMessages.SettingsUpdateFailed); response.Message.Level.Should().Be(UserMessageLevel.Warning); }
public void SaveSuccessTest() { var settingsViewModel = new SettingsViewModel { Address = new AddressViewModel { AddressLine1 = "Add1", AddressLine2 = "Add2", AddressLine3 = "Add3", AddressLine4 = "Add4", Postcode = "N7 8LS" }, DateOfBirth = new DateViewModel { Day = DateTime.UtcNow.Day, Month = DateTime.UtcNow.Month, Year = DateTime.UtcNow.Year }, PhoneNumber = "079824524523", Firstname = "FN", Lastname = "LN", EnableApplicationStatusChangeAlertsViaEmail = true }; // ReSharper disable once RedundantAssignment var candidate = new Candidate(); candidate.DisableAllOptionalCommunications(); var accountProviderMock = new Mock <IAccountProvider>(); accountProviderMock.Setup(x => x.TrySaveSettings(It.IsAny <Guid>(), It.IsAny <SettingsViewModel>(), out candidate)).Returns(true); var accountMediator = new AccountMediatorBuilder().With(accountProviderMock.Object).Build(); var response = accountMediator.SaveSettings(Guid.NewGuid(), settingsViewModel); response.Code.Should().Be(AccountMediatorCodes.Settings.Success); response.ViewModel.Should().Be(settingsViewModel); }
public void SaveSuccessTest() { var settingsViewModel = new SettingsViewModel { Address = new AddressViewModel { AddressLine1 = "Add1", AddressLine2 = "Add2", AddressLine3 = "Add3", AddressLine4 = "Add4", Postcode = "N7 8LS" }, DateOfBirth = new DateViewModel { Day = DateTime.Now.Day, Month = DateTime.Now.Month, Year = DateTime.Now.Year }, PhoneNumber = "079824524523", Firstname = "FN", Lastname = "LN" }; var candidateServiceProviderMock = new Mock <ICandidateServiceProvider>(); candidateServiceProviderMock.Setup(x => x.GetCandidate(It.IsAny <Guid>())).Returns(new Candidate()); var candidate = new Candidate(); var accountProviderMock = new Mock <IAccountProvider>(); accountProviderMock.Setup(x => x.TrySaveSettings(It.IsAny <Guid>(), It.IsAny <SettingsViewModel>(), out candidate)).Returns(true); var accountMediator = new AccountMediatorBuilder().With(candidateServiceProviderMock).With(accountProviderMock.Object).Build(); var response = accountMediator.SaveSettings(Guid.NewGuid(), settingsViewModel); response.Code.Should().Be(AccountMediatorCodes.Settings.Success); response.ViewModel.Should().Be(settingsViewModel); }
public void SaveValidationErrorTest() { var settingsViewModel = new SettingsViewModel(); var accountMediator = new AccountMediatorBuilder().Build(); var response = accountMediator.SaveSettings(Guid.NewGuid(), settingsViewModel); response.Code.Should().Be(AccountMediatorCodes.Settings.ValidationError); response.ViewModel.Should().Be(settingsViewModel); response.ValidationResult.Should().NotBeNull(); }
public void SaveValidationErrorTest() { var settingsViewModel = new SettingsViewModel(); var accountProvider = new Mock <IAccountProvider>(); accountProvider.Setup(x => x.GetSettingsViewModel(It.IsAny <Guid>())).Returns(new SettingsViewModel()); var accountMediator = new AccountMediatorBuilder().With(accountProvider.Object).Build(); var response = accountMediator.SaveSettings(Guid.NewGuid(), settingsViewModel); response.Code.Should().Be(AccountMediatorCodes.Settings.ValidationError); response.ViewModel.Should().Be(settingsViewModel); response.ValidationResult.Should().NotBeNull(); }
public void SaveSearchesSettingsSuccessWithWarning() { var savedSearchViewModels = new Fixture().Build <SavedSearchViewModel>().With(s => s.AlertsEnabled, false).CreateMany(1).ToList(); var settingsViewModel = new SettingsViewModelBuilder().EnableSavedSearchAlertsViaEmail(true).EnableSavedSearchAlertsViaText(true).WithSavedSearchViewModels(savedSearchViewModels).Build(); settingsViewModel.Mode = SettingsViewModel.SettingsMode.SavedSearches; // ReSharper disable once RedundantAssignment var candidate = new Candidate(); candidate.DisableAllOptionalCommunications(); var accountProviderMock = new Mock <IAccountProvider>(); accountProviderMock.Setup(x => x.TrySaveSettings(It.IsAny <Guid>(), It.IsAny <SettingsViewModel>(), out candidate)).Returns(true); var accountMediator = new AccountMediatorBuilder().With(accountProviderMock.Object).Build(); var response = accountMediator.SaveSettings(Guid.NewGuid(), settingsViewModel); response.AssertMessage(AccountMediatorCodes.Settings.SuccessWithWarning, AccountPageMessages.SettingsUpdatedSavedSearchesAlertWarning, UserMessageLevel.Info, true); }
public void SaveNotificationsSettingsSuccessWithWarning() { var settingsViewModel = new SettingsViewModelBuilder().Build(); settingsViewModel.Mode = SettingsViewModel.SettingsMode.YourAccount; var candidateServiceProviderMock = new Mock <ICandidateServiceProvider>(); // ReSharper disable once RedundantAssignment var candidate = new Candidate(); candidate.DisableAllOptionalCommunications(); var accountProviderMock = new Mock <IAccountProvider>(); accountProviderMock.Setup(x => x.TrySaveSettings(It.IsAny <Guid>(), It.IsAny <SettingsViewModel>(), out candidate)).Returns(true); var accountMediator = new AccountMediatorBuilder().With(candidateServiceProviderMock).With(accountProviderMock.Object).Build(); var response = accountMediator.SaveSettings(Guid.NewGuid(), settingsViewModel); response.AssertMessage(AccountMediatorCodes.Settings.SuccessWithWarning, AccountPageMessages.SettingsUpdatedNotificationsAlertWarning, UserMessageLevel.Info, true); }
public void MobileVerificationRequiredMarketing(string newPhoneNumber, bool verifiedMobile, bool allowSmsMarketing, string expectedCode) { var candidateId = Guid.NewGuid(); var candidate = new CandidateBuilder(candidateId).PhoneNumber("0123456789").VerifiedMobile(verifiedMobile).Build(); var candidateService = new Mock <ICandidateService>(); candidateService.Setup(cs => cs.GetCandidate(candidateId)).Returns(candidate); var viewModel = new SettingsViewModelBuilder().PhoneNumber(newPhoneNumber).AllowSmsMarketing(allowSmsMarketing).Build(); var accountProvider = new AccountProviderBuilder().With(candidateService).Build(); var mediator = new AccountMediatorBuilder().With(accountProvider).Build(); var result = mediator.SaveSettings(candidateId, viewModel); if (expectedCode == AccountMediatorCodes.Settings.MobileVerificationRequired) { result.AssertMessage(expectedCode, AccountPageMessages.MobileVerificationRequired, UserMessageLevel.Success, true); } else { result.AssertCode(expectedCode); } }
public void MobileVerificationRequiredCommunications(string newPhoneNumber, bool verifiedMobile, bool enableAnyTextCommunication, string expectedCode) { var candidateId = Guid.NewGuid(); var candidate = new CandidateBuilder(candidateId).PhoneNumber("0123456789").VerifiedMobile(verifiedMobile).Build(); var candidateService = new Mock <ICandidateService>(); candidateService.Setup(cs => cs.GetCandidate(candidateId)).Returns(candidate); var viewModel = new SettingsViewModelBuilder().PhoneNumber(newPhoneNumber).EnableAnyTextCommunication(enableAnyTextCommunication).EnableApplicationStatusChangeAlertsViaEmail(true).Build(); var accountProvider = new AccountProviderBuilder().With(candidateService).Build(); var mediator = new AccountMediatorBuilder().With(accountProvider).Build(); var result = mediator.SaveSettings(candidateId, viewModel); if (expectedCode == AccountMediatorCodes.Settings.MobileVerificationRequired) { result.AssertMessage(expectedCode, AccountPageMessages.MobileVerificationRequired, UserMessageLevel.Success, true); } else { result.AssertCodeAndMessage(expectedCode); } }