summaryrefslogtreecommitdiffstats
path: root/uitest
diff options
context:
space:
mode:
authorHenrik Paul <henrik@vaadin.com>2015-03-09 14:31:37 +0200
committerHenrik Paul <henrik@vaadin.com>2015-03-17 12:59:05 +0200
commit84c143dd76ed1d27d03c0d695e7218b477d008fe (patch)
tree1070f41763d46572af72eb230f18c9d3ce610b48 /uitest
parentf61cf666f3d28ac57b6c3cd5de30d9b54814d683 (diff)
downloadvaadin-framework-84c143dd76ed1d27d03c0d695e7218b477d008fe.tar.gz
vaadin-framework-84c143dd76ed1d27d03c0d695e7218b477d008fe.zip
Server side Grid can open details on the client side (#16644)
Change-Id: Ibff5a83b3a09c7c530926dadae9138ba3823f27a
Diffstat (limited to 'uitest')
-rw-r--r--uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java14
-rw-r--r--uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridDetailsServerTest.java76
2 files changed, 90 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java
index e5a46894b8..f0c4b3d9c0 100644
--- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java
+++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java
@@ -248,6 +248,8 @@ public class GridBasicFeatures extends AbstractComponentTest<Grid> {
addFilterActions();
+ createDetailsActions();
+
this.grid = grid;
return grid;
}
@@ -1051,6 +1053,18 @@ public class GridBasicFeatures extends AbstractComponentTest<Grid> {
}, null);
}
+ private void createDetailsActions() {
+ createBooleanAction("firstItemId", "Details", false,
+ new Command<Grid, Boolean>() {
+ @Override
+ @SuppressWarnings("boxing")
+ public void execute(Grid g, Boolean visible, Object data) {
+ g.setDetailsVisible(g.getContainerDataSource()
+ .firstItemId(), visible);
+ }
+ });
+ }
+
@Override
protected Integer getTicketNumber() {
return 12829;
diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridDetailsServerTest.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridDetailsServerTest.java
new file mode 100644
index 0000000000..01d2ba55eb
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridDetailsServerTest.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2000-2014 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.components.grid.basicfeatures.server;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openqa.selenium.NoSuchElementException;
+
+import com.vaadin.testbench.annotations.RunLocally;
+import com.vaadin.testbench.parallel.Browser;
+import com.vaadin.tests.components.grid.basicfeatures.GridBasicFeaturesTest;
+
+@RunLocally(Browser.PHANTOMJS)
+public class GridDetailsServerTest extends GridBasicFeaturesTest {
+ private static final String[] FIRST_ITEM_DETAILS = new String[] {
+ "Component", "Details", "firstItemId" };
+
+ @Before
+ public void setUp() {
+ openTestURL();
+ }
+
+ @Test
+ public void openVisibleDetails() {
+ try {
+ getGridElement().getDetails(0);
+ fail("Expected NoSuchElementException");
+ } catch (NoSuchElementException ignore) {
+ // expected
+ }
+ selectMenuPath(FIRST_ITEM_DETAILS);
+ assertNotNull("details should've opened", getGridElement()
+ .getDetails(0));
+ }
+
+ @Test(expected = NoSuchElementException.class)
+ public void closeVisibleDetails() {
+ selectMenuPath(FIRST_ITEM_DETAILS);
+ selectMenuPath(FIRST_ITEM_DETAILS);
+ getGridElement().getDetails(0);
+ }
+
+ @Test
+ public void openDetailsOutsideOfActiveRange() {
+ getGridElement().scroll(10000);
+ selectMenuPath(FIRST_ITEM_DETAILS);
+ getGridElement().scroll(0);
+ assertNotNull("details should've been opened", getGridElement()
+ .getDetails(0));
+ }
+
+ @Test(expected = NoSuchElementException.class)
+ public void closeDetailsOutsideOfActiveRange() {
+ selectMenuPath(FIRST_ITEM_DETAILS);
+ getGridElement().scroll(10000);
+ selectMenuPath(FIRST_ITEM_DETAILS);
+ getGridElement().scroll(0);
+ getGridElement().getDetails(0);
+ }
+}