Author: sletellier Date: 2011-05-05 18:08:09 +0200 (Thu, 05 May 2011) New Revision: 861 Url: http://nuiton.org/repositories/revision/wikitty/861 Log: Add test in fail on sorting on multivalued field Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java 2011-05-05 15:26:00 UTC (rev 860) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java 2011-05-05 16:08:09 UTC (rev 861) @@ -41,6 +41,7 @@ import org.nuiton.wikitty.search.Criteria; import org.nuiton.wikitty.search.PagedResult; import org.nuiton.wikitty.search.Search; +import org.nuiton.wikitty.search.operators.Element; import org.nuiton.wikitty.search.operators.Like; import java.util.ArrayList; @@ -771,6 +772,51 @@ } } + @Test + public void testSearchWithSort() { + { + Criteria criteria = Search.query().like("name", "*").criteria(); + criteria.setSortAscending(new String[]{"name"}); + try { + proxy.findAllByCriteria(criteria); + } catch (Exception eee) { + Assert.fail(); + } + } + //Create ext sortable + String sortableExtName = "sortable"; + String numFieldName = "num"; + WikittyExtension sortable = ExtensionFactory.create(sortableExtName, "1.0") + .addField(numFieldName, FieldType.TYPE.NUMERIC) + .extension(); + proxy.storeExtension(sortable); + + //Create wikitty sortable + Wikitty sortable10 = new WikittyImpl(); + sortable10.addExtension(sortable); + sortable10.setField(sortableExtName, numFieldName, 10); + + Wikitty sortable1 = new WikittyImpl(); + sortable1.addExtension(sortable); + sortable1.setField(sortableExtName, numFieldName, 1); + + Wikitty sortable7 = new WikittyImpl(); + sortable7.addExtension(sortable); + sortable7.setField(sortableExtName, numFieldName, 7); + + proxy.store(sortable10); + proxy.store(sortable1); + proxy.store(sortable7); + { + Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, sortableExtName).criteria(); + criteria.setSortAscending(new String[]{numFieldName}); + PagedResult<Wikitty> result = proxy.findAllByCriteria(criteria); + int firstNum = result.get(0).getFieldAsInt(sortableExtName, numFieldName); + assertEquals(1, firstNum); + } + } + + @Test public void testComplexQueries() throws Exception { //TODO JC-07-04-2011 Write test