summaryrefslogtreecommitdiffstats
path: root/uitest
diff options
context:
space:
mode:
authorJohannes Dahlström <johannesd@vaadin.com>2014-09-10 15:21:09 +0300
committerJohannes Dahlström <johannesd@vaadin.com>2014-09-19 11:39:01 +0000
commitfcb564daacec11992703e4821ae784c0d3b305dd (patch)
tree5ece928f624676a5a04c6a3c7e7f10b679b649a6 /uitest
parent8de9a37bae7b663e31750c5a195e28038637a318 (diff)
downloadvaadin-framework-fcb564daacec11992703e4821ae784c0d3b305dd.tar.gz
vaadin-framework-fcb564daacec11992703e4821ae784c0d3b305dd.zip
Implement Vaadin-specific editor row bind/cancel handling (#13334)
Change-Id: I9a6326a065b3ca159dd1b4237de1dbf8fa8e10ff
Diffstat (limited to 'uitest')
-rw-r--r--uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java29
-rw-r--r--uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java64
2 files changed, 93 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 0802fcffe5..ae8a0d5eb8 100644
--- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java
+++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java
@@ -109,6 +109,8 @@ public class GridBasicFeatures extends AbstractComponentTest<Grid> {
item.getItemProperty(getColumnProperty(col)).setValue(
"(" + row + ", " + col + ")");
}
+ item.getItemProperty(getColumnProperty(1)).setReadOnly(true);
+
item.getItemProperty(getColumnProperty(col++)).setValue(
Integer.valueOf(row));
item.getItemProperty(getColumnProperty(col++)).setValue(
@@ -190,6 +192,8 @@ public class GridBasicFeatures extends AbstractComponentTest<Grid> {
grid.setSelectionMode(SelectionMode.NONE);
+ grid.getEditorRow().setPropertyEditable(getColumnProperty(3), false);
+
createGridActions();
createColumnActions();
@@ -655,6 +659,31 @@ public class GridBasicFeatures extends AbstractComponentTest<Grid> {
c.getEditorRow().setEnabled(value);
}
});
+
+ createClickAction("Edit item 5", "Editor row",
+ new Command<Grid, String>() {
+ @Override
+ public void execute(Grid c, String value, Object data) {
+ c.getEditorRow().editItem(5);
+ }
+ }, null);
+
+ createClickAction("Edit item 100", "Editor row",
+ new Command<Grid, String>() {
+ @Override
+ public void execute(Grid c, String value, Object data) {
+ c.getEditorRow().editItem(100);
+ }
+ }, null);
+
+ createClickAction("Cancel edit", "Editor row",
+ new Command<Grid, String>() {
+ @Override
+ public void execute(Grid c, String value, Object data) {
+ c.getEditorRow().cancel();
+ }
+ }, null);
+
}
@SuppressWarnings("boxing")
diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java
index f82702d432..7ca3894060 100644
--- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java
+++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridEditorRowTest.java
@@ -15,14 +15,21 @@
*/
package com.vaadin.tests.components.grid.basicfeatures.client;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import java.util.List;
+
import org.junit.Before;
import org.junit.Test;
+import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
+import org.openqa.selenium.NoSuchElementException;
+import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
+import com.vaadin.tests.components.grid.basicfeatures.GridBasicFeatures;
import com.vaadin.tests.components.grid.basicfeatures.GridBasicFeaturesTest;
public class GridEditorRowTest extends GridBasicFeaturesTest {
@@ -34,6 +41,48 @@ public class GridEditorRowTest extends GridBasicFeaturesTest {
}
@Test
+ public void testProgrammaticOpeningClosing() {
+ selectMenuPath("Component", "Editor row", "Edit item 5");
+ assertNotNull(getEditorRow());
+
+ selectMenuPath("Component", "Editor row", "Cancel edit");
+ assertNull(getEditorRow());
+ }
+
+ @Test
+ public void testProgrammaticOpeningWhenDisabled() {
+ selectMenuPath("Component", "Editor row", "Enabled");
+ selectMenuPath("Component", "Editor row", "Edit item 5");
+ assertNull(getEditorRow());
+ assertEquals(
+ "4. Exception occured, java.lang.IllegalStateExceptionThis EditorRow is not enabled",
+ getLogRow(0));
+ }
+
+ @Test
+ public void testDisablingWhileOpen() {
+ selectMenuPath("Component", "Editor row", "Edit item 5");
+ selectMenuPath("Component", "Editor row", "Enabled");
+ assertNotNull(getEditorRow());
+ assertEquals(
+ "4. Exception occured, java.lang.IllegalStateExceptionCannot disable the editor row while an item (5) is being edited.",
+ getLogRow(0));
+
+ }
+
+ @Test
+ public void testProgrammaticOpeningWithScroll() {
+ selectMenuPath("Component", "Editor row", "Edit item 100");
+ assertNotNull(getEditorRow());
+ }
+
+ @Test(expected = NoSuchElementException.class)
+ public void testVerticalScrollLocking() {
+ selectMenuPath("Component", "Editor row", "Edit item 5");
+ getGridElement().getCell(200, 0);
+ }
+
+ @Test
public void testKeyboardOpeningClosing() {
getGridElement().getCell(4, 0).click();
@@ -52,4 +101,19 @@ public class GridEditorRowTest extends GridBasicFeaturesTest {
new Actions(getDriver()).sendKeys(Keys.ENTER).perform();
assertNull(getEditorRow());
}
+
+ @Test
+ public void testComponentBinding() {
+ selectMenuPath("Component", "State", "Editor row", "Edit item 100");
+
+ List<WebElement> widgets = getEditorRow().findElements(
+ By.className("v-widget"));
+
+ assertEquals(GridBasicFeatures.COLUMNS, widgets.size());
+
+ assertEquals("(100, 0)", widgets.get(0).getAttribute("value"));
+ assertEquals("(100, 1)", widgets.get(1).getAttribute("value"));
+ assertEquals("(100, 2)", widgets.get(2).getAttribute("value"));
+ assertEquals("<b>100</b>", widgets.get(9).getAttribute("value"));
+ }
}