/* * Copyright 2015 Hewlett-Packard Development Company, L.P. * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. */ package com.hp.autonomy.frontend.find.idol.search; import com.autonomy.aci.client.services.AciErrorException; import com.hp.autonomy.frontend.find.core.search.AbstractRelatedConceptsControllerTest; import com.hp.autonomy.searchcomponents.core.search.RelatedConceptsService; import com.hp.autonomy.searchcomponents.idol.search.IdolQueryRestrictions; import com.hp.autonomy.searchcomponents.idol.search.IdolQueryRestrictionsBuilder; import com.hp.autonomy.searchcomponents.idol.search.IdolRelatedConceptsRequest; import com.hp.autonomy.searchcomponents.idol.search.IdolRelatedConceptsRequestBuilder; import com.hp.autonomy.searchcomponents.idol.search.IdolRelatedConceptsService; import com.hp.autonomy.types.idol.responses.QsElement; import org.mockito.Mock; import org.springframework.beans.factory.ObjectFactory; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.when; public class IdolRelatedConceptsControllerTest extends AbstractRelatedConceptsControllerTest<QsElement, IdolQueryRestrictions, IdolRelatedConceptsRequest, String, AciErrorException> { @Mock private IdolRelatedConceptsService idolRelatedConceptsService; @Mock private ObjectFactory<IdolQueryRestrictionsBuilder> queryRestrictionsBuilderFactory; @Mock private IdolQueryRestrictionsBuilder queryRestrictionsBuilder; @Mock private ObjectFactory<IdolRelatedConceptsRequestBuilder> relatedConceptsRequestBuilderFactory; @Mock private IdolRelatedConceptsRequestBuilder relatedConceptsRequestBuilder; @Override protected IdolRelatedConceptsController buildController() { when(queryRestrictionsBuilderFactory.getObject()).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.queryText(anyString())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.fieldText(anyString())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.databases(any())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.minDate(any())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.maxDate(any())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.minScore(anyInt())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.stateMatchIds(any())).thenReturn(queryRestrictionsBuilder); when(queryRestrictionsBuilder.stateDontMatchIds(any())).thenReturn(queryRestrictionsBuilder); when(relatedConceptsRequestBuilderFactory.getObject()).thenReturn(relatedConceptsRequestBuilder); when(relatedConceptsRequestBuilder.maxResults(anyInt())).thenReturn(relatedConceptsRequestBuilder); when(relatedConceptsRequestBuilder.querySummaryLength(anyInt())).thenReturn(relatedConceptsRequestBuilder); when(relatedConceptsRequestBuilder.queryRestrictions(any())).thenReturn(relatedConceptsRequestBuilder); return new IdolRelatedConceptsController(idolRelatedConceptsService, queryRestrictionsBuilderFactory, relatedConceptsRequestBuilderFactory); } @Override protected RelatedConceptsService<IdolRelatedConceptsRequest, QsElement, IdolQueryRestrictions, AciErrorException> buildService() { return idolRelatedConceptsService; } }