public void Ok_CandidateIsLoggedInAndHasNoSavedSearches() { // Arrange. var candidateId = Guid.NewGuid(); var candidateServiceProvider = new Mock <ICandidateServiceProvider>(); var savedSearches = new SavedSearchViewModel[] { }; candidateServiceProvider .Setup(p => p.GetSavedSearches(candidateId)).Returns(savedSearches); var candidate = new Domain.Entities.Candidates.Candidate { RegistrationDetails = new RegistrationDetails { Address = new Address { Postcode = "CANDIDATE POSTCODE" } } }; candidateServiceProvider .Setup(p => p.GetCandidate(candidateId)).Returns(candidate); var mediator = new ApprenticeshipSearchMediatorBuilder() .With(candidateServiceProvider).Build(); // Act. var response = mediator.Index(candidateId, ApprenticeshipSearchMode.SavedSearches, false); // Assert. candidateServiceProvider.Verify(p => p.GetSavedSearches(candidateId), Times.Once); response.ViewModel.SavedSearches.Count().Should().Be(savedSearches.Length); response.Code.Should().Be(ApprenticeshipSearchMediatorCodes.Index.Ok); }
public void SavedSearchNotFound_InvalidSavedSearchId() { // Arrange. var candidateId = Guid.NewGuid(); var candidateServiceProvider = new Mock <ICandidateServiceProvider>(); var viewModel = new ApprenticeshipSearchViewModel { SavedSearchId = "X" }; var mediator = new ApprenticeshipSearchMediatorBuilder() .With(candidateServiceProvider).Build(); // Act. var response = mediator.RunSavedSearch(candidateId, viewModel); // Assert. candidateServiceProvider.Verify(p => p.GetSavedSearch(It.IsAny <Guid>(), It.IsAny <Guid>()), Times.Never); response.AssertMessage( ApprenticeshipSearchMediatorCodes.SavedSearch.SavedSearchNotFound, ApprenticeshipsSearchPageMessages.SavedSearchNotFound, UserMessageLevel.Error, false); }
public void RunSaveSearchFailed() { // Arrange. var candidateId = Guid.NewGuid(); var savedSearchId = Guid.NewGuid(); var candidateServiceProvider = new Mock <ICandidateServiceProvider>(); var viewModel = new ApprenticeshipSearchViewModel { SavedSearchId = savedSearchId.ToString() }; candidateServiceProvider .Setup(p => p.GetSavedSearch(candidateId, savedSearchId)) .Returns(new SavedSearchViewModel { ViewModelMessage = "Error" }); var mediator = new ApprenticeshipSearchMediatorBuilder() .With(candidateServiceProvider).Build(); // Act. var response = mediator.RunSavedSearch(candidateId, viewModel); // Assert. candidateServiceProvider.Verify(p => p.GetSavedSearch(candidateId, savedSearchId), Times.Once); response.AssertMessage( ApprenticeshipSearchMediatorCodes.SavedSearch.RunSaveSearchFailed, ApprenticeshipsSearchPageMessages.RunSavedSearchFailed, UserMessageLevel.Error, true); }
public void Ok() { // Arrange. var candidateId = Guid.NewGuid(); var savedSearchId = Guid.NewGuid(); var candidateServiceProvider = new Mock <ICandidateServiceProvider>(); var viewModel = new ApprenticeshipSearchViewModel { SavedSearchId = savedSearchId.ToString() }; var savedSearch = new Fixture() .Build <SavedSearchViewModel>() .With(each => each.ViewModelMessage, null) .Create(); candidateServiceProvider .Setup(p => p.GetSavedSearch(candidateId, savedSearchId)).Returns(savedSearch); var mediator = new ApprenticeshipSearchMediatorBuilder() .With(candidateServiceProvider).Build(); // Act. var response = mediator.RunSavedSearch(candidateId, viewModel); // Assert. candidateServiceProvider.Verify(p => p.GetSavedSearch(candidateId, savedSearchId), Times.Once); response.Code.Should().Be(ApprenticeshipSearchMediatorCodes.SavedSearch.Ok); response.ViewModel.Should().Be(savedSearch); }
public void Ok_CandidateIsNotLoggedIn() { // Arrange. var candidateServiceProvider = new Mock <ICandidateServiceProvider>(); var mediator = new ApprenticeshipSearchMediatorBuilder() .With(candidateServiceProvider).Build(); // Act. var response = mediator.Index(null, ApprenticeshipSearchMode.SavedSearches, false); // Assert. candidateServiceProvider.Verify(p => p.GetSavedSearches(It.IsAny <Guid>()), Times.Never); response.Code.Should().Be(ApprenticeshipSearchMediatorCodes.Index.Ok); }
public void Ok() { var candidateId = Guid.NewGuid(); var candidateServiceProvider = new Mock <ICandidateServiceProvider>(); candidateServiceProvider.Setup( p => p.CreateSavedSearch(candidateId, It.IsAny <ApprenticeshipSearchViewModel>())) .Returns <Guid, ApprenticeshipSearchViewModel>((cid, vm) => vm); var mediator = new ApprenticeshipSearchMediatorBuilder().With(candidateServiceProvider).Build(); var viewModel = new ApprenticeshipSearchViewModelBuilder().Build(); var response = mediator.SaveSearch(candidateId, viewModel); response.AssertMessage(ApprenticeshipSearchMediatorCodes.SaveSearch.Ok, VacancySearchResultsPageMessages.SaveSearchSuccess, UserMessageLevel.Success, true); candidateServiceProvider.Verify(p => p.CreateSavedSearch(candidateId, viewModel), Times.Once); }
public void Ok_CandidateIsLoggedInAndHasSavedSearches(int savedSearchCount) { // Arrange. var candidateId = Guid.NewGuid(); var candidateServiceProvider = new Mock <ICandidateServiceProvider>(); var savedSearches = new Fixture() .Build <SavedSearchViewModel>() .CreateMany(savedSearchCount); candidateServiceProvider .Setup(p => p.GetSavedSearches(candidateId)).Returns(savedSearches); var candidate = new Domain.Entities.Candidates.Candidate { RegistrationDetails = new RegistrationDetails { Address = new Address { Postcode = "CANDIDATE POSTCODE" } } }; candidateServiceProvider .Setup(p => p.GetCandidate(candidateId)).Returns(candidate); var mediator = new ApprenticeshipSearchMediatorBuilder() .With(candidateServiceProvider).Build(); // Act. var response = mediator.Index(candidateId, ApprenticeshipSearchMode.SavedSearches, false); // Assert. candidateServiceProvider.Verify(p => p.GetSavedSearches(candidateId), Times.Once); response.ViewModel.SavedSearches.Count().Should().Be(savedSearchCount); response.ViewModel.SavedSearches.Should().BeInDescendingOrder(each => each.DateCreated); }