public void WhenSearchResultHasNoResultButThereAreProvidersInCountryShouldShowCountMessage() { var detail = new FrameworkResults(); var model = new ProviderFrameworkSearchResultViewModel { TotalResults = 0, PostCodeMissing = false, FrameworkId = "1", FrameworkName = "Test framework name", FrameworkLevel = 2, Hits = new List <FrameworkProviderResultItemViewModel>(), ActualPage = 1, LastPage = 1, ResultsToTake = 10, PostCode = "Test postcode", DeliveryModes = new List <DeliveryModeViewModel>(), HasError = false, TotalProvidersCountry = 3 }; var html = detail.RenderAsHtml(model).ToAngleSharp(); var expectedText = string.Format("view all ({0}) training providers for Test framework name, level 2 in England", model.TotalProvidersCountry); GetPartial(html, ".total-providers-country").Should().Be(expectedText); }
public void WhenSearchResultHasNoResultsShouldNotShowNewSearchLink() { var detail = new FrameworkResults(); var model = new ProviderFrameworkSearchResultViewModel { TotalResults = 0, PostCodeMissing = false, FrameworkId = "1", FrameworkName = "Test framework name", Hits = new List <FrameworkProviderResultItemViewModel>(), ActualPage = 1, LastPage = 1, ResultsToTake = 10, PostCode = "Test postcode", DeliveryModes = new List <DeliveryModeViewModel> { new DeliveryModeViewModel() }, HasError = false, TotalProvidersCountry = 3, AbsolutePath = "www.abba.co.uk" }; var html = detail.RenderAsHtml(model).ToAngleSharp(); GetHtmlElement(html, ".new-postcode-search").Should().BeNull(); GetPartial(html, ".new-postcode-search").Should().BeEmpty(); }
public void ShouldHaveDataForGoogleAnalytic() { var searchPage = new FrameworkResults(); var title = "This is a title, Level 3"; var postcode = "N17"; var model = new ProviderFrameworkSearchResultViewModel { TotalResults = 1, Title = title, PostCode = postcode, Hits = new FrameworkProviderResultItemViewModel[0] }; var html = searchPage.RenderAsHtml(model).ToAngleSharp(); GetAttribute(html, "#ga-apprenticeship-title", "value").Should().BeEquivalentTo(title); GetAttribute(html, "#ga-postcode", "value").Should().BeEquivalentTo(postcode); }
public void ShouldShowZeroResultsMessageWhenThereAreNoResultsAndThereIsNoLevel() { var detail = new FrameworkResults(); var model = new ProviderFrameworkSearchResultViewModel { Title = "Test name: Pathway test name", TotalResults = 0, PostCodeMissing = false, FrameworkId = "1", FrameworkCode = 2, FrameworkName = "Test name", PathwayName = "Pathway test name", PostCode = "Test postcode", Hits = new List <FrameworkProviderResultItemViewModel>(), HasError = false }; var html = detail.RenderAsHtml(model).ToAngleSharp(); GetPartial(html, ".result-message").Should().Contain("Sorry, there are currently no training providers for Test name: Pathway test name, level 0 for 'TESTPOSTCODE'."); }
public void ShouldDetermineEmptyResultsForGoogleAnalytic() { var searchPage = new FrameworkResults(); var modelWithResults = new ProviderFrameworkSearchResultViewModel { TotalResults = 1, Hits = new[] { new FrameworkProviderResultItemViewModel() } }; var modelWithoutResults = new ProviderFrameworkSearchResultViewModel { TotalResults = 1, Hits = new FrameworkProviderResultItemViewModel[0] }; var htmlWithResults = searchPage.RenderAsHtml(modelWithResults).ToAngleSharp(); var htmlWithoutResults = searchPage.RenderAsHtml(modelWithoutResults).ToAngleSharp(); GetAttribute(htmlWithResults, "#ga-no-result", "value").Should().BeEquivalentTo("False"); GetAttribute(htmlWithoutResults, "#ga-no-result", "value").Should().BeEquivalentTo("True"); }
public void WhenSearchResultHasPaginationAndIsTheLastPageShouldShowOnlyBackPageLink() { var detail = new FrameworkResults(); var model = new ProviderFrameworkSearchResultViewModel { Title = "Test name: Pathway test name", TotalResults = 30, PostCodeMissing = false, FrameworkId = "1", FrameworkCode = 2, FrameworkLevel = 2, FrameworkName = "Test name", PathwayName = "Pathway test name", Hits = new List <FrameworkProviderResultItemViewModel> { new FrameworkProviderResultItemViewModel(), new FrameworkProviderResultItemViewModel(), new FrameworkProviderResultItemViewModel(), new FrameworkProviderResultItemViewModel(), new FrameworkProviderResultItemViewModel(), new FrameworkProviderResultItemViewModel(), new FrameworkProviderResultItemViewModel(), new FrameworkProviderResultItemViewModel(), new FrameworkProviderResultItemViewModel(), new FrameworkProviderResultItemViewModel() }, ActualPage = 3, LastPage = 3, ResultsToTake = 10, PostCode = "Test postcode", DeliveryModes = new List <DeliveryModeViewModel>(), HasError = false }; var html = detail.RenderAsHtml(model).ToAngleSharp(); GetPartial(html, ".page-navigation__btn.prev").Should().Contain("Previous page").And.Contain("2 of 3"); GetPartial(html, ".page-navigation__btn.next").Should().BeEmpty(); }
public void WhenSearchResultHasNoResultShouldShowUsefulInformationMessage() { var detail = new FrameworkResults(); var model = new ProviderFrameworkSearchResultViewModel { TotalResults = 0, PostCodeMissing = false, FrameworkId = "1", FrameworkName = "Test framework name", Hits = new List <FrameworkProviderResultItemViewModel>(), ActualPage = 1, LastPage = 1, ResultsToTake = 10, PostCode = "Test postcode", DeliveryModes = new List <DeliveryModeViewModel>(), HasError = false, TotalProvidersCountry = 0 }; var html = detail.RenderAsHtml(model).ToAngleSharp(); GetPartial(html, ".return-search-results").Should().Be("return to your apprenticeship training search results"); GetPartial(html, ".start-again").Should().Be("start your job role or keyword search again"); }