public void RedirectToPageIfExactMatchIsFound() { //Arrange var mockedView = new Mock <ISearchView>(); mockedView.Setup(v => v.Model).Returns(new SearchViewModel()); var mockedPageService = new Mock <IPageService>(); var presenterUnderTest = new SearchPresenter(mockedView.Object, mockedPageService.Object); string title = "test-title"; var pages = new List <SotnWiki.Models.Page>() { new Models.Page() { Title = title } }; mockedPageService.Setup(m => m.FindPages(It.IsAny <string>())).Returns(pages); var mockedHttpContext = new Mock <HttpContextBase>(); var mockedHttpResponseBase = new Mock <HttpResponseBase>(); presenterUnderTest.HttpContext = mockedHttpContext.Object; mockedHttpContext.Setup(x => x.Response).Returns(mockedHttpResponseBase.Object); //Act mockedView.Raise(v => v.OnPageGetContent += null, new SearchEventArgs("")); //Assert mockedHttpResponseBase.Verify(x => x.Redirect(string.Format("~/page?title={0}", title)), Times.Once); }
public void FillViewModelResultsWithSearchResult() { //Arrange var mockedView = new Mock <ISearchView>(); mockedView.Setup(v => v.Model).Returns(new SearchViewModel()); var mockedPageService = new Mock <IPageService>(); var presenterUnderTest = new SearchPresenter(mockedView.Object, mockedPageService.Object); var pages = new List <SotnWiki.Models.Page>() { new Models.Page() { Title = "t1" }, new Models.Page() { Title = "t2" } }; mockedPageService.Setup(m => m.FindPages(It.IsAny <string>())).Returns(pages); //Act mockedView.Raise(v => v.OnPageGetContent += null, new SearchEventArgs("")); //Assert CollectionAssert.AreEqual(pages, mockedView.Object.Model.Results); }
protected override void OnInit(EventArgs e) { //_webContext = ObjectFactory.GetInstance<IWebContext>(); _presenter = new SearchPresenter(); _webContext = new SPKTCore.Core.Impl.WebContext(); _presenter.Init(this); if (string.IsNullOrEmpty(_webContext.SearchText)) { lblSearchTerm.Text = "Please use the search box to the left!"; } else { if (!IsPostBack) { lblSearchTerm.Text = "Bạn muốn tìm bạn : " + _webContext.SearchText; } if (_webContext.SearchText.Length > 3) { _presenter.PerformSearch(_webContext.SearchText); } else { lblSearchTerm.Text += " <BR><BR> Your chuoi tim kiem phai lon hon 3 ky tu!"; } } }
public void CallFindPagesMethodOfPageService() { //Arrange var mockedView = new Mock <ISearchView>(); mockedView.Setup(v => v.Model).Returns(new SearchViewModel()); var mockedPageService = new Mock <IPageService>(); var presenterUnderTest = new SearchPresenter(mockedView.Object, mockedPageService.Object); var pages = new List <SotnWiki.Models.Page>() { new Models.Page() { Title = "t1" }, new Models.Page() { Title = "t2" } }; mockedPageService.Setup(m => m.FindPages(It.IsAny <string>())).Returns(pages); //Act mockedView.Raise(v => v.OnPageGetContent += null, new SearchEventArgs("")); //Assert mockedPageService.Verify(x => x.FindPages(It.IsAny <string>()), Times.Once); }
public SearchPresenter GetSearchPresenter() { SearchPresenter presenter = makePresenter <SearchPresenter, SearchChildForm>(); presenter.Init(); return(presenter); }
public void TestConstructor_PassEverythingCorrectly_ShouldInitializeCorrectly() { var mockedView = new Mock <ISearchView>(); var mockedService = new Mock <IProductService>(); var mockedFactory = new Mock <IViewModelFactory>(); var presenter = new SearchPresenter(mockedView.Object, mockedService.Object, mockedFactory.Object); Assert.IsNotNull(presenter); }
protected override void Context() { _view = A.Fake <ISearchView>(); _regionResolver = A.Fake <IRegionResolver>(); _activeSubjectRetriever = A.Fake <IActiveSubjectRetriever>(); _searchResultMapper = A.Fake <ISearchResultToDTOSearchResultMapper>(); _searchTask = A.Fake <ISearchTask>(); _applicationController = A.Fake <IMoBiApplicationController>(); _context = A.Fake <IMoBiContext>(); sut = new SearchPresenter(_view, _regionResolver, _activeSubjectRetriever, _searchResultMapper, _searchTask, _applicationController, _context); }
public void SearchPresenterInalizedCorectly_NewSearchPresenterInstanceIscreated() { var mockedHomeView = new Mock <ISearchView>(); var mockedSearchView = new Mock <ISearchView>(); var mockedVenueService = new Mock <IVenueService>(); var mockedRatingService = new Mock <IRatingService>(); var mockedWishListService = new Mock <IWishListService>(); var actualInstance = new SearchPresenter(mockedHomeView.Object, mockedVenueService.Object, mockedWishListService.Object, mockedRatingService.Object); Assert.That(actualInstance, Is.InstanceOf <SearchPresenter>()); }
public void View_QueryEventShouldCallVenueSeriveceFilterVenuesMethodOnce() { var mockedSearchView = new Mock <ISearchView>(); var mockedVenueService = new Mock <IVenueService>(); var mockedRatingService = new Mock <IRatingService>(); var mockedWishListService = new Mock <IWishListService>(); var mockedModel = new Mock <SearchViewModel>(); mockedSearchView.Setup(x => x.Model).Returns(mockedModel.Object); mockedVenueService.Setup(x => x.FilterVenues(It.IsAny <string>(), It.IsAny <string>())).Returns(It.IsAny <IEnumerable <VenueDTO> >()); var searchPresenter = new SearchPresenter(mockedSearchView.Object, mockedVenueService.Object, mockedWishListService.Object, mockedRatingService.Object); mockedSearchView.Raise(x => x.QueryEvent += null, new SearchEventArgs(It.IsAny <string>(), It.IsAny <string>())); mockedVenueService.Verify(x => x.FilterVenues(It.IsAny <string>(), It.IsAny <string>()), Times.Exactly(1)); }
public void View_UpdateRatingSouldCallRatingServiceWithCorrectRating(string mockedRatingString, int mockedRatingInt) { var mockedSearchView = new Mock <ISearchView>(); var mockedVenueService = new Mock <IVenueService>(); var mockedRatingService = new Mock <IRatingService>(); var mockedWishListService = new Mock <IWishListService>(); var mockedModel = new Mock <SearchViewModel>(); mockedSearchView.Setup(x => x.Model).Returns(mockedModel.Object); mockedRatingService.Setup(x => x.AddRating(It.IsAny <Guid>(), It.IsAny <int>(), It.IsAny <int>())); var searchPresenter = new SearchPresenter(mockedSearchView.Object, mockedVenueService.Object, mockedWishListService.Object, mockedRatingService.Object); mockedSearchView.Raise(x => x.UpdateRating += null, new UpdateRatingEventArgs(It.IsAny <string>(), mockedRatingString, It.IsAny <string>())); mockedRatingService.Verify(x => x.AddRating(It.IsAny <Guid>(), It.Is <int>(args => args == mockedRatingInt), It.IsAny <int>()), Times.Once); }
public void TestViewMySearch_ShouldCallServiceSearchProductsCorrectly(string searchParam) { var mockedView = new Mock <ISearchView>(); mockedView.Setup(v => v.Model).Returns(new ProductListViewModel()); var mockedService = new Mock <IProductService>(); var mockedFactory = new Mock <IViewModelFactory>(); var presenter = new SearchPresenter(mockedView.Object, mockedService.Object, mockedFactory.Object); var args = new SearchEventArgs(searchParam); mockedView.Raise(v => v.MySearch += null, args); mockedService.Verify(s => s.SearchProducts(searchParam), Times.Once); }
public void View_SaveVenueEventShouldCallwishListServiceWithCorrectUser() { var mockedSearchView = new Mock <ISearchView>(); var mockedVenueService = new Mock <IVenueService>(); var mockedRatingService = new Mock <IRatingService>(); var mockedWishListService = new Mock <IWishListService>(); var mockedModel = new Mock <SearchViewModel>(); var mockedGuid = Guid.Parse("E56F7468-AC9B-454C-A73E-E687DFC925B1"); var mockedGuidString = "E56F7468-AC9B-454C-A73E-E687DFC925B1"; mockedSearchView.Setup(x => x.Model).Returns(mockedModel.Object); mockedWishListService.Setup(x => x.UpdateWishList(It.IsAny <Guid>(), 1)); var searchPresenter = new SearchPresenter(mockedSearchView.Object, mockedVenueService.Object, mockedWishListService.Object, mockedRatingService.Object); mockedSearchView.Raise(x => x.SaveVenueEvent += null, new SaveVenueArgs(mockedGuidString, "")); mockedWishListService.Verify(x => x.UpdateWishList(It.Is <Guid>(arg => arg == mockedGuid), It.IsAny <int>()), Times.Once); }
public IActionResult Employer(string employerIdentifier) { if (string.IsNullOrWhiteSpace(employerIdentifier)) { return(new HttpBadRequestResult("Missing employer identifier")); } CustomResult <Organisation> organisationLoadingOutcome; try { organisationLoadingOutcome = ViewingService.OrganisationBusinessLogic.LoadInfoFromActiveEmployerIdentifier(employerIdentifier); if (organisationLoadingOutcome.Failed) { return(organisationLoadingOutcome.ErrorMessage.ToHttpStatusViewResult()); } } catch (Exception ex) { Logger.LogError(ex, $"Cannot decrypt return employerIdentifier from '{employerIdentifier}'"); return(View("CustomError", WebService.ErrorViewModelFactory.Create(400))); } //Clear the default back url of the report page ReportBackUrl = null; ViewBag.BasketViewModel = new CompareBasketViewModel { CanAddEmployers = true, CanViewCompare = true }; return(View( "EmployerDetails/Employer", new EmployerDetailsViewModel { Organisation = organisationLoadingOutcome.Result, LastSearchUrl = SearchPresenter.GetLastSearchUrl(), EmployerBackUrl = EmployerBackUrl, ComparedEmployers = ComparePresenter.ComparedEmployers.Value })); }
public async Task <IActionResult> SearchResults([FromQuery] SearchResultsQuery searchQuery) { //Ensure search service is enabled if (ViewingService.SearchBusinessLogic.EmployerSearchRepository.Disabled) { return(View("CustomError", WebService.ErrorViewModelFactory.Create(1151, new { featureName = "Search Service" }))); } //When never searched in this session if (string.IsNullOrWhiteSpace(SearchPresenter.LastSearchParameters)) { //If no compare employers in session then load employers from the cookie if (ComparePresenter.BasketItemCount == 0) { ComparePresenter.LoadComparedEmployersFromCookie(); } } //Clear the default back url of the employer hub pages EmployerBackUrl = null; ReportBackUrl = null; // ensure parameters are valid if (!searchQuery.TryValidateSearchParams(out var result)) { return(result); } // generate result view model var searchParams = AutoMapper.Map <EmployerSearchParameters>(searchQuery); var model = await ViewingPresenter.SearchAsync(searchParams); ViewBag.ReturnUrl = SearchPresenter.GetLastSearchUrl(); ViewBag.BasketViewModel = new CompareBasketViewModel { CanAddEmployers = false, CanViewCompare = ComparePresenter.BasketItemCount > 1, CanClearCompare = true }; return(View("Finder/SearchResults", model)); }
public async Task <IActionResult> SearchResultsJs([FromQuery] SearchResultsQuery searchQuery) { //Clear the default back url of the employer hub pages EmployerBackUrl = null; ReportBackUrl = null; // ensure parameters are valid if (!searchQuery.TryValidateSearchParams(out var result)) { return(result); } // generate result view model var searchParams = AutoMapper.Map <EmployerSearchParameters>(searchQuery); var model = await ViewingPresenter.SearchAsync(searchParams); ViewBag.ReturnUrl = SearchPresenter.GetLastSearchUrl(); return(PartialView("Finder/Parts/MainContent", model)); }
public void TestViewMySearch_ShouldSetViewModelProductsCorrectly(string searchParam) { var mockedView = new Mock <ISearchView>(); mockedView.Setup(v => v.Model).Returns(new ProductListViewModel()); var category = new Category(); var product = new Models.Product { Category = category }; var mockedService = new Mock <IProductService>(); mockedService.Setup(s => s.SearchProducts(It.IsAny <string>())).Returns(new List <Models.Product> { product }); var productDetailsViewModel = new ProductDetailsViewModel(); var mockedFactory = new Mock <IViewModelFactory>(); mockedFactory.Setup(f => f.CreateProductDetailsViewModel(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <decimal>(), It.IsAny <double>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <byte[]>())) .Returns(productDetailsViewModel); var presenter = new SearchPresenter(mockedView.Object, mockedService.Object, mockedFactory.Object); var args = new SearchEventArgs(searchParam); mockedView.Raise(v => v.MySearch += null, args); var expected = new List <ProductDetailsViewModel> { productDetailsViewModel }; CollectionAssert.AreEqual(expected, mockedView.Object.Model.Products); }
protected void Page_Load(object sender, EventArgs e) { presenter = new SearchPresenter(this); }
public Search() { presenter = new SearchPresenter(this); }
public SearchForm() { InitializeComponent(); _presenter = new SearchPresenter(this); }
/// <summary> /// The ApplicationPresenter is resposnible for configuring all the dependent Presenters. /// </summary> private void ConfigureSearchPresenter() { View.SearchView.ApplicationView = View; View.SearchView.SpeakableElementSelected += AllViews_SpeakableElementSelected; View.SearchView.SpeakableElementSelectedHelpText += AllViews_SpeakableElementSelectedHelpText; View.SearchView.SelfVoicingSpeakText += AllViews_SelfVoicingSpeakText; SearchPresenter = new SearchPresenter(View.SearchView, this, MainState.SearchState); }
public SearchController(ISearchUseCase searchUseCase, SearchPresenter searchPresenter) { _searchUseCase = searchUseCase; _searchPresenter = searchPresenter; }