@Test public void testCreateQueryWithSortDesc() throws NoSuchMethodException, SecurityException { Method method = SampleRepository.class.getMethod("findByPopularityOrderByTitleDesc", Integer.class); Query query = createQueryForMethodWithArgs(method, new Object[] {1}); Assert.assertNotNull(query.getSort()); Assert.assertEquals(Sort.Direction.DESC, query.getSort().getOrderFor("title").getDirection()); }
private void processQueryOptions(SolrQuery solrQuery, Query query) { appendPagination(solrQuery, query.getPageRequest()); appendProjectionOnFields(solrQuery, query.getProjectionOnFields()); appendGroupByFields(solrQuery, query.getGroupByFields()); appendFilterQuery(solrQuery, query.getFilterQueries()); appendSort(solrQuery, query.getSort()); appendDefaultOperator(solrQuery, query.getDefaultOperator()); appendTimeAllowed(solrQuery, query.getTimeAllowed()); appendDefType(solrQuery, query.getDefType()); appendRequestHandler(solrQuery, query.getRequestHandler()); }
@Test public void testWithSort() throws NoSuchMethodException, SecurityException { Method method = SampleRepository.class.getMethod("findByNameWithSort", String.class, Sort.class); SolrQueryMethod queryMethod = new SolrQueryMethod(method, metadataMock, entityInformationCreatorMock); StringBasedSolrQuery solrQuery = new StringBasedSolrQuery(queryMethod, solrOperationsMock); Sort sort = new Sort(Direction.DESC, "popularity", "price"); org.springframework.data.solr.core.query.Query query = solrQuery.createQuery( new SolrParametersParameterAccessor(queryMethod, new Object[] {"spring", sort})); Assert.assertEquals("name:spring", queryParser.getQueryString(query)); Assert.assertEquals(sort, query.getSort()); }