@Test
  public void testWithProjectionOnSingleField() throws NoSuchMethodException, SecurityException {
    Method method =
        SampleRepository.class.getMethod("findByNameProjectionOnPopularity", String.class);
    SolrQueryMethod queryMethod =
        new SolrQueryMethod(method, metadataMock, entityInformationCreatorMock);

    StringBasedSolrQuery solrQuery = new StringBasedSolrQuery(queryMethod, solrOperationsMock);

    org.springframework.data.solr.core.query.Query query =
        solrQuery.createQuery(
            new SolrParametersParameterAccessor(queryMethod, new Object[] {"christoph"}));

    Assert.assertEquals("name:christoph*", queryParser.getQueryString(query));
    Assert.assertEquals(1, query.getProjectionOnFields().size());
    Assert.assertEquals("popularity", query.getProjectionOnFields().get(0).getName());
  }
 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());
 }