Search in sources :

Example 1 with MockHstRequest

use of org.hippoecm.hst.mock.core.component.MockHstRequest in project hippo by NHS-digital-website.

the class SearchPageComponentTest method blankQueryReturnsTabs.

@Test
public void blankQueryReturnsTabs() {
    MockHstRequest request = new MockHstRequest();
    request.setParameterMap("", Collections.emptyMap());
    int newsResults = 9;
    int tasksResults = 5;
    int teamsResults = 2;
    Mockito.when(bloomreachSearchProvider.getBloomreachResultsCount(null, SearchArea.NEWS)).thenReturn(newsResults);
    Mockito.when(bloomreachSearchProvider.getBloomreachResultsCount(null, SearchArea.TASKS)).thenReturn(tasksResults);
    Mockito.when(bloomreachSearchProvider.getBloomreachResultsCount(null, SearchArea.TEAMS)).thenReturn(teamsResults);
    underTest.doBeforeRender(request, new MockHstResponse());
    List<SearchResultTab> tabs = (List<SearchResultTab>) request.getAttribute(REQUEST_ATTR_SEARCH_TABS);
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.NEWS, newsResults)));
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.TASKS, tasksResults)));
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.TEAMS, teamsResults)));
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.PEOPLE, 0)));
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.ALL, newsResults + tasksResults + teamsResults)));
}
Also used : MockHstRequest(org.hippoecm.hst.mock.core.component.MockHstRequest) MockHstResponse(org.hippoecm.hst.mock.core.component.MockHstResponse) SearchResultTab(uk.nhs.digital.intranet.model.SearchResultTab) ArrayList(java.util.ArrayList) List(java.util.List) Test(org.junit.Test)

Example 2 with MockHstRequest

use of org.hippoecm.hst.mock.core.component.MockHstRequest in project hippo by NHS-digital-website.

the class SearchPageComponentTest method blankQueryReturnsDocumentsForAllDocTypes.

@Test
public void blankQueryReturnsDocumentsForAllDocTypes() {
    MockHstRequest request = new MockHstRequest();
    request.setParameterMap("", Collections.emptyMap());
    Pageable<HippoBean> documentResults = new DefaultPagination<>(Collections.singletonList(new Task()));
    Mockito.when(bloomreachSearchProvider.getBloomreachResults(Mockito.nullable(String.class), anyInt(), anyInt(), eq(SearchArea.ALL))).thenReturn(documentResults);
    underTest.doBeforeRender(request, new MockHstResponse());
    assertEquals(documentResults, request.getAttribute(REQUEST_ATTR_PAGEABLE));
}
Also used : HippoBean(org.hippoecm.hst.content.beans.standard.HippoBean) Task(uk.nhs.digital.intranet.beans.Task) MockHstRequest(org.hippoecm.hst.mock.core.component.MockHstRequest) MockHstResponse(org.hippoecm.hst.mock.core.component.MockHstResponse) DefaultPagination(org.onehippo.cms7.essentials.components.paging.DefaultPagination) Test(org.junit.Test)

Example 3 with MockHstRequest

use of org.hippoecm.hst.mock.core.component.MockHstRequest in project hippo by NHS-digital-website.

the class SearchPageComponentTest method newsQueryLimitsSearchAreaAndPopulatesTabs.

@Test
public void newsQueryLimitsSearchAreaAndPopulatesTabs() {
    MockHstRequest request = new MockHstRequest();
    request.setParameterMap("", Collections.emptyMap());
    request.addParameter(REQUEST_ATTR_AREA, "news");
    int newsResults = 53;
    int tasksResults = 5;
    int teamsResults = 2;
    Pageable<HippoBean> documentResults = new DefaultPagination<>(Collections.singletonList(new Task()), newsResults);
    Mockito.when(bloomreachSearchProvider.getBloomreachResults(Mockito.nullable(String.class), anyInt(), anyInt(), eq(SearchArea.NEWS))).thenReturn(documentResults);
    Mockito.when(bloomreachSearchProvider.getBloomreachResultsCount(null, SearchArea.TASKS)).thenReturn(tasksResults);
    Mockito.when(bloomreachSearchProvider.getBloomreachResultsCount(null, SearchArea.TEAMS)).thenReturn(teamsResults);
    underTest.doBeforeRender(request, new MockHstResponse());
    assertEquals(documentResults, request.getAttribute(REQUEST_ATTR_PAGEABLE));
    Mockito.verify(bloomreachSearchProvider, Mockito.never()).getBloomreachResultsCount(Mockito.nullable(String.class), eq(SearchArea.NEWS));
    List<SearchResultTab> tabs = (List<SearchResultTab>) request.getAttribute(REQUEST_ATTR_SEARCH_TABS);
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.NEWS, newsResults)));
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.TASKS, tasksResults)));
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.TEAMS, teamsResults)));
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.PEOPLE, 0)));
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.ALL, newsResults + tasksResults + teamsResults)));
}
Also used : HippoBean(org.hippoecm.hst.content.beans.standard.HippoBean) Task(uk.nhs.digital.intranet.beans.Task) MockHstRequest(org.hippoecm.hst.mock.core.component.MockHstRequest) MockHstResponse(org.hippoecm.hst.mock.core.component.MockHstResponse) SearchResultTab(uk.nhs.digital.intranet.model.SearchResultTab) DefaultPagination(org.onehippo.cms7.essentials.components.paging.DefaultPagination) ArrayList(java.util.ArrayList) List(java.util.List) Test(org.junit.Test)

Example 4 with MockHstRequest

use of org.hippoecm.hst.mock.core.component.MockHstRequest in project hippo by NHS-digital-website.

the class SearchPageComponentTest method peopleQueryReturnsResultsAndPopulatesTabs.

@Test
public void peopleQueryReturnsResultsAndPopulatesTabs() throws ProviderCommunicationException {
    MockHstRequest request = new MockHstRequest();
    request.setParameterMap("", Collections.emptyMap());
    request.addParameter(REQUEST_ATTR_QUERY, "query string here");
    mockHstRequestContext.setAttribute(Constants.ACCESS_TOKEN_PROPERTY_NAME, "logged-into-microsoft-access-token");
    request.addParameter(REQUEST_ATTR_AREA, "people");
    int newsResults = 13;
    int tasksResults = 5;
    int teamsResults = 2;
    Mockito.when(bloomreachSearchProvider.getBloomreachResultsCount(anyString(), eq(SearchArea.NEWS))).thenReturn(newsResults);
    Mockito.when(bloomreachSearchProvider.getBloomreachResultsCount(anyString(), eq(SearchArea.TASKS))).thenReturn(tasksResults);
    Mockito.when(bloomreachSearchProvider.getBloomreachResultsCount(anyString(), eq(SearchArea.TEAMS))).thenReturn(teamsResults);
    List<Person> expectedPeopleResults = Collections.singletonList(new Person("1", "bob", "finance"));
    Mockito.when(graphProvider.getPeople(anyString())).thenReturn(expectedPeopleResults);
    underTest.doBeforeRender(request, new MockHstResponse());
    assertEquals(expectedPeopleResults, request.getAttribute(REQUEST_ATTR_PEOPLE_RESULTS));
    Mockito.verify(bloomreachSearchProvider, Mockito.never()).getBloomreachResults(anyString(), anyInt(), anyInt(), any());
    List<SearchResultTab> tabs = (List<SearchResultTab>) request.getAttribute(REQUEST_ATTR_SEARCH_TABS);
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.NEWS, newsResults)));
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.TASKS, tasksResults)));
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.TEAMS, teamsResults)));
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.PEOPLE, expectedPeopleResults.size())));
    assertTrue(tabs.contains(new SearchResultTab(SearchArea.ALL, newsResults + tasksResults + teamsResults + expectedPeopleResults.size())));
}
Also used : MockHstRequest(org.hippoecm.hst.mock.core.component.MockHstRequest) MockHstResponse(org.hippoecm.hst.mock.core.component.MockHstResponse) SearchResultTab(uk.nhs.digital.intranet.model.SearchResultTab) ArrayList(java.util.ArrayList) List(java.util.List) Person(uk.nhs.digital.intranet.model.Person) Test(org.junit.Test)

Example 5 with MockHstRequest

use of org.hippoecm.hst.mock.core.component.MockHstRequest in project hippo by NHS-digital-website.

the class ApiCatalogueComponentTest method givenRequestWithApiCatalogueAsContentBean.

private void givenRequestWithApiCatalogueAsContentBean() {
    hstContainerUrl = new HstContainerURLImpl();
    hstRequestContext = new MockHstRequestContext();
    hstRequestContext.setSession(session);
    hstRequestContext.setParameterInfoProxyFactory(new HstParameterInfoProxyFactoryImpl());
    hstRequestContext.setContentBean(apiCatalogueDocument);
    hstRequestContext.setBaseURL(hstContainerUrl);
    ModifiableRequestContextProvider.set(hstRequestContext);
    request = new MockHstRequest();
    request.setRequestContext(hstRequestContext);
    request.setRequestURL(new StringBuffer("http://localhost:8080/site/developer/api-catalogue"));
}
Also used : MockHstRequestContext(org.hippoecm.hst.mock.core.request.MockHstRequestContext) MockHstRequest(org.hippoecm.hst.mock.core.component.MockHstRequest) HstContainerURLImpl(org.hippoecm.hst.core.container.HstContainerURLImpl) HstParameterInfoProxyFactoryImpl(org.hippoecm.hst.core.component.HstParameterInfoProxyFactoryImpl)

Aggregations

MockHstRequest (org.hippoecm.hst.mock.core.component.MockHstRequest)7 MockHstResponse (org.hippoecm.hst.mock.core.component.MockHstResponse)6 Test (org.junit.Test)6 SearchResultTab (uk.nhs.digital.intranet.model.SearchResultTab)5 ArrayList (java.util.ArrayList)3 List (java.util.List)3 HippoBean (org.hippoecm.hst.content.beans.standard.HippoBean)2 DefaultPagination (org.onehippo.cms7.essentials.components.paging.DefaultPagination)2 Task (uk.nhs.digital.intranet.beans.Task)2 HstParameterInfoProxyFactoryImpl (org.hippoecm.hst.core.component.HstParameterInfoProxyFactoryImpl)1 HstContainerURLImpl (org.hippoecm.hst.core.container.HstContainerURLImpl)1 MockHstRequestContext (org.hippoecm.hst.mock.core.request.MockHstRequestContext)1 Person (uk.nhs.digital.intranet.model.Person)1