protected void doSearch(String pattern) { view.searchInProgress(searchHint); searchService.search(lastSearch, maxItems, results -> { addToSearchCache(pattern, results); showResults(results); view.searchFinished(); }); }
protected void doSearch(String pattern) { view.searchInProgress(searchHint); searchService.search(lastSearch, maxItems, results -> { addToSearchCache(pattern, results); showResults(results); view.searchFinished(); }); }
@Test public void testRepeatedSearch() { presenter.search("a"); presenter.search("a"); // 2nd search is ignored as it's a repetition verify(view).clearItems(); verify(view).addItem(any()); verify(view).searchFinished(); verify(searchService).search(eq("a"), anyInt(), any()); }
@Test public void testSearch() { presenter.search("a"); assertEquals(presenter.getLastSearch(), "a"); verify(view).clearItems(); verify(view).addItem(any()); verify(view).searchFinished(); verify(searchService).search(eq("a"), anyInt(), any()); }
@Test public void testAddChildDropDownEmpty() { permissionResourceChildrenAdded.clear(); permissionResourceChildrenAdded.add(permissionChildNode1); permissionResourceChildrenAdded.add(permissionChildNode2); presenter.edit(permissionResourceNode); LiveSearchService searchService = presenter.getChildrenSearchService(); searchService.search("", -1, results -> { assertEquals(results.size(), 0); }); }
@Test public void testSearchEmpty() { perspectiveDropDown.searchService.search("x", -1, itemList -> { assertEquals(itemList.size(), 0); }); }
@Test public void testSearchAll() { perspectiveDropDown.searchService.search("", -1, itemList -> { assertEquals(itemList.size(), 2); }); }
@Test public void testCustomNames() { perspectiveDropDown.setPerspectiveNameProvider(itemId -> "x"); perspectiveDropDown.searchService.search("A", -1, itemList -> { assertEquals(itemList.size(), 0); }); perspectiveDropDown.searchService.search("x", -1, itemList -> { assertEquals(itemList.size(), 2); }); } }
@Test public void testSearchCache() { presenter.search("a"); presenter.search(""); presenter.search("a"); presenter.search(""); presenter.search("a"); presenter.search(""); assertTrue(presenter.isSearchCacheEnabled()); assertEquals(presenter.getLastSearch(), ""); verify(view, times(2)).searchInProgress(anyString()); verify(searchService).search(eq("a"), anyInt(), any()); verify(searchService).search(eq(""), anyInt(), any()); verify(view, times(2)).searchFinished(); verify(view, times(6)).clearItems(); verify(view, times(3)).addItem(any()); verify(view, times(3)).noItems(anyString()); }
@Test public void testAddChildDropDownFull() { permissionResourceChildrenAdded.clear(); presenter.edit(permissionResourceNode); LiveSearchService searchService = presenter.getChildrenSearchService(); searchService.search("", -1, results -> { assertEquals(results.size(), 2); }); }
@Test public void testEmptySearch() { presenter.setSearchHint("s"); presenter.setNotFoundMessage("n"); presenter.setMaxItems(15); presenter.search(""); assertEquals(presenter.getLastSearch(), ""); verify(view).searchInProgress("s"); verify(view).clearItems(); verify(view).noItems("n"); verify(view).searchFinished(); verify(searchService).search(eq(""), eq(15), any()); }
@Test public void testExcludeItems() { Set<String> excluded = new HashSet<>(); excluded.add("A"); perspectiveDropDown.setPerspectiveIdsExcluded(excluded); perspectiveDropDown.searchService.search("", -1, itemList -> { assertEquals(itemList.size(), 1); assertEquals(itemList.get(0).getKey(), "B"); }); }
@Test public void testAddChildDropDownDuplicateNames() { permissionResourceChildrenAdded.clear(); permissionResourceChildrenAdded.add(permissionChildNode2); PermissionLeafNode permissionChildNode3 = new PermissionLeafNode(); permissionChildNode3.addPermission(new DotNamedPermission("read.p1b", true), "", ""); permissionChildNode3.setNodeName("p1"); permissionResourceChildrenAvailable.add(permissionChildNode3); presenter.edit(permissionResourceNode); LiveSearchService<String> searchService = presenter.getChildrenSearchService(); searchService.search("", -1, results -> { assertEquals(results.size(), 2); assertEquals(results.get(0).getKey(), "read.p1"); assertEquals(results.get(0).getValue(), "p1"); assertEquals(results.get(1).getKey(), "read.p1b"); assertEquals(results.get(1).getValue(), "p1"); }); } }
@Test public void testSelectorEntries() { presenter.edit(layoutEditor); presenter.getSearchService().search("", -1, results -> { assertEquals(results.size(), 7); assertEquals(results.get(0).getKey(), "container"); assertEquals(results.get(0).getValue(), "page"); assertEquals(results.get(1).getKey(), "1"); assertEquals(results.get(1).getValue(), "row 1"); assertEquals(results.get(2).getKey(), "1"); assertEquals(results.get(2).getValue(), "row 1 > column 1 > component 1"); assertEquals(results.get(3).getKey(), "2"); assertEquals(results.get(3).getValue(), "row 1 > column 2 > component 1"); assertEquals(results.get(4).getKey(), "2"); assertEquals(results.get(4).getValue(), "row 2"); assertEquals(results.get(5).getKey(), "1"); assertEquals(results.get(5).getValue(), "row 2 > column 1 > component 1"); assertEquals(results.get(6).getKey(), "2"); assertEquals(results.get(6).getValue(), "row 2 > column 1 > component 2"); }); } }