protected void doSearch(String pattern) { view.searchInProgress(searchHint); searchService.search(lastSearch, maxItems, results -> { addToSearchCache(pattern, results); showResults(results); view.searchFinished(); }); }
public void setSelectedItem(final TYPE key) { searchService.searchEntry(key, results -> { if(results.size() == 1) { LiveSearchEntry<TYPE> entry = results.get(0); changeCallbackEnabled = false; LiveSearchSelectorItem<TYPE> item = getSelectorItemForEntry(entry); selectionHandler.selectItem(item); item.select(); view.clearItems(); lastSearch = null; changeCallbackEnabled = true; } }); }
protected void doSearch(String pattern) { view.searchInProgress(searchHint); searchService.search(lastSearch, maxItems, results -> { addToSearchCache(pattern, results); showResults(results); view.searchFinished(); }); }
@Test public void testItemSelected() { doAnswer(invocationOnMock -> { LiveSearchResults results = new LiveSearchResults(1); results.add("1", "a"); LiveSearchCallback callback = (LiveSearchCallback) invocationOnMock.getArguments()[1]; callback.afterSearch(results); return null; }).when(searchService).searchEntry(anyString(), any()); presenter.setSelectedItem("1"); assertEquals("1", selectionHandler.getSelectedKey()); verify(view).setDropDownText("a"); verify(onChangeCommand, never()).execute(); }
@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()); }
public void setSelectedItem(final TYPE key) { searchService.searchEntry(key, results -> { if(results.size() == 1) { LiveSearchEntry<TYPE> entry = results.get(0); changeCallbackEnabled = false; LiveSearchSelectorItem<TYPE> item = getSelectorItemForEntry(entry); selectionHandler.selectItem(item); item.select(); view.clearItems(); lastSearch = null; changeCallbackEnabled = true; } }); }
@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"); }); } }