diff options
author | Aleksi Hietanen <aleksi@vaadin.com> | 2017-05-23 16:14:34 +0300 |
---|---|---|
committer | Henri Sara <henri.sara@gmail.com> | 2017-05-23 16:14:34 +0300 |
commit | 19a7e696fdca4d1d23624b1a39e6a5f34e982887 (patch) | |
tree | 4e5f20c544321d43f120a9bc094699faa39feed3 /uitest | |
parent | 8cdb24715fac3612d8ae80c2dbee541a3c8a963c (diff) | |
download | vaadin-framework-19a7e696fdca4d1d23624b1a39e6a5f34e982887.tar.gz vaadin-framework-19a7e696fdca4d1d23624b1a39e6a5f34e982887.zip |
Make select all work with TreeGrid (#9412)
Fixes #9403
Diffstat (limited to 'uitest')
-rw-r--r-- | uitest/src/main/java/com/vaadin/tests/components/treegrid/TreeGridBasicFeatures.java | 13 | ||||
-rw-r--r-- | uitest/src/test/java/com/vaadin/tests/components/treegrid/TreeGridSelectTest.java | 60 |
2 files changed, 73 insertions, 0 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/components/treegrid/TreeGridBasicFeatures.java b/uitest/src/main/java/com/vaadin/tests/components/treegrid/TreeGridBasicFeatures.java index 911c13f449..0c29f71294 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/treegrid/TreeGridBasicFeatures.java +++ b/uitest/src/main/java/com/vaadin/tests/components/treegrid/TreeGridBasicFeatures.java @@ -17,6 +17,7 @@ import com.vaadin.server.SerializablePredicate; import com.vaadin.shared.Range; import com.vaadin.tests.components.AbstractComponentTest; import com.vaadin.tests.data.bean.HierarchicalTestBean; +import com.vaadin.ui.Grid.SelectionMode; import com.vaadin.ui.ItemCollapseAllowedProvider; import com.vaadin.ui.TreeGrid; @@ -68,6 +69,7 @@ public class TreeGridBasicFeatures extends AbstractComponentTest<TreeGrid> { createExpandMenu(); createCollapseMenu(); createListenerMenu(); + createSelectionModeMenu(); } private void initializeDataProviders() { @@ -137,6 +139,7 @@ public class TreeGridBasicFeatures extends AbstractComponentTest<TreeGrid> { (treeGrid, value, data) -> treeGrid.setHierarchyColumn(value)); } + @SuppressWarnings("unchecked") private void createCollapseAllowedSelect() { LinkedHashMap<String, ItemCollapseAllowedProvider<HierarchicalTestBean>> options = new LinkedHashMap<>(); options.put("all allowed", t -> true); @@ -190,4 +193,14 @@ public class TreeGridBasicFeatures extends AbstractComponentTest<TreeGrid> { + event.isUserOriginated() + "): " + event.getExpandedItem()))); } + + private void createSelectionModeMenu() { + LinkedHashMap<String, SelectionMode> options = new LinkedHashMap<>(); + options.put("none", SelectionMode.NONE); + options.put("single", SelectionMode.SINGLE); + options.put("multi", SelectionMode.MULTI); + + createSelectAction("Selection mode", "State", options, "single", + (treeGrid, value, data) -> treeGrid.setSelectionMode(value)); + } } diff --git a/uitest/src/test/java/com/vaadin/tests/components/treegrid/TreeGridSelectTest.java b/uitest/src/test/java/com/vaadin/tests/components/treegrid/TreeGridSelectTest.java new file mode 100644 index 0000000000..e167dc6ac5 --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/components/treegrid/TreeGridSelectTest.java @@ -0,0 +1,60 @@ +package com.vaadin.tests.components.treegrid; + +import org.junit.Assert; +import org.junit.Test; + +import com.vaadin.testbench.By; +import com.vaadin.testbench.elements.TreeGridElement; +import com.vaadin.tests.tb3.SingleBrowserTest; + +public class TreeGridSelectTest extends SingleBrowserTest { + + @Override + public Class<?> getUIClass() { + return TreeGridBasicFeatures.class; + } + + @Test + public void select_and_deselect_all() { + openTestURL(); + + selectMenuPath("Component", "Features", "Set data provider", + "TreeDataProvider"); + selectMenuPath("Component", "State", "Selection mode", "multi"); + + TreeGridElement grid = $(TreeGridElement.class).first(); + + assertAllRowsDeselected(grid); + clickSelectAll(grid); + assertAllRowsSelected(grid); + grid.expandWithClick(1, 1); + grid.expandWithClick(2, 1); + assertAllRowsSelected(grid); + clickSelectAll(grid); + assertAllRowsDeselected(grid); + clickSelectAll(grid); + grid.collapseWithClick(2, 1); + grid.expandWithClick(2, 1); + assertAllRowsSelected(grid); + grid.collapseWithClick(2, 1); + clickSelectAll(grid); + grid.expandWithClick(2, 1); + assertAllRowsDeselected(grid); + } + + private void assertAllRowsSelected(TreeGridElement grid) { + for (int i = 0; i < grid.getRowCount(); i++) { + Assert.assertTrue(grid.getRow(i).isSelected()); + } + } + + private void assertAllRowsDeselected(TreeGridElement grid) { + for (int i = 0; i < grid.getRowCount(); i++) { + Assert.assertFalse(grid.getRow(i).isSelected()); + } + } + + private void clickSelectAll(TreeGridElement grid) { + grid.getHeaderCell(0, 0).findElement(By.tagName("input")).click(); + } +} |