@Test public void shouldSetDescending() { ViewQuery query = ViewQuery.from("design", "view").descending(); assertEquals("descending=true", query.toString()); query = ViewQuery.from("design", "view").descending(false); assertEquals("descending=false", query.toString()); }
@Test public void shouldSetInclusiveEnd() { ViewQuery query = ViewQuery.from("design", "view").inclusiveEnd(); assertEquals("inclusive_end=true", query.toString()); query = ViewQuery.from("design", "view").inclusiveEnd(false); assertEquals("inclusive_end=false", query.toString()); }
@Test public void shouldGroup() { ViewQuery query = ViewQuery.from("design", "view").group(); assertEquals("group=true", query.toString()); query = ViewQuery.from("design", "view").group(false); assertEquals("group=false", query.toString()); }
@Test public void shouldSetOnError() { ViewQuery query = ViewQuery.from("design", "view").onError(OnError.CONTINUE); assertEquals("on_error=continue", query.toString()); query = ViewQuery.from("design", "view").onError(OnError.STOP); assertEquals("on_error=stop", query.toString()); }
@Test public void shouldConcatMoreParams() { ViewQuery query = ViewQuery.from("design", "view") .descending() .debug() .development() .group() .reduce(false) .startKey(JsonArray.from("foo", true)); assertEquals( "reduce=false&group=true&debug=true&descending=true&startkey=%5B%22foo%22%2Ctrue%5D", query.toString()); }
@Test public void shouldSetStale() { ViewQuery query = ViewQuery.from("design", "view").stale(Stale.FALSE); assertEquals("stale=false", query.toString()); query = ViewQuery.from("design", "view").stale(Stale.TRUE); assertEquals("stale=ok", query.toString()); query = ViewQuery.from("design", "view").stale(Stale.UPDATE_AFTER); assertEquals("stale=update_after", query.toString()); }
@Test public void shouldReduce() { ViewQuery query = ViewQuery.from("design", "view").reduce(); assertEquals("reduce=true", query.toString()); query = ViewQuery.from("design", "view").reduce(true); assertEquals("reduce=true", query.toString()); query = ViewQuery.from("design", "view").reduce(false); assertEquals("reduce=false", query.toString()); }
@Test public void shouldSetDefaults() { ViewQuery query = ViewQuery.from("design", "view"); assertEquals("design", query.getDesign()); assertEquals("view", query.getView()); assertFalse(query.isDevelopment()); assertTrue(query.toString().isEmpty()); }
@Test public void shouldGroupLevel() { ViewQuery query = ViewQuery.from("design", "view").groupLevel(2); assertEquals("group_level=2", query.toString()); }
@Test public void shouldSkip() { ViewQuery query = ViewQuery.from("design", "view").skip(3); assertEquals("skip=3", query.toString()); }
@Test public void shouldLimit() { ViewQuery query = ViewQuery.from("design", "view").limit(10); assertEquals("limit=10", query.toString()); }
@Test public void shouldHandleEndKeyDocID() { ViewQuery query = ViewQuery.from("design", "view").endKeyDocId("mykey"); assertEquals("endkey_docid=%22mykey%22", query.toString()); }
@Test public void shouldHandleEndKey() { ViewQuery query = ViewQuery.from("design", "view").endKey("key"); assertEquals("endkey=%22key%22", query.toString()); query = ViewQuery.from("design", "view").endKey(1); assertEquals("endkey=1", query.toString()); query = ViewQuery.from("design", "view").endKey(true); assertEquals("endkey=true", query.toString()); query = ViewQuery.from("design", "view").endKey(3.55); assertEquals("endkey=3.55", query.toString()); query = ViewQuery.from("design", "view").endKey(JsonArray.from("foo", 3)); assertEquals("endkey=%5B%22foo%22%2C3%5D", query.toString()); query = ViewQuery.from("design", "view").endKey(JsonObject.empty().put("foo", true)); assertEquals("endkey=%7B%22foo%22%3Atrue%7D", query.toString()); }
@Test public void shouldHandleKeys() { ViewQuery query = ViewQuery.from("design", "view").keys(JsonArray.from("foo", 3, true)); assertEquals("keys=%5B%22foo%22%2C3%2Ctrue%5D", query.toString()); }