diff options
Diffstat (limited to 'uitest/src/test/java/com/vaadin/tests/data/DataProviderRefreshTest.java')
-rw-r--r-- | uitest/src/test/java/com/vaadin/tests/data/DataProviderRefreshTest.java | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/uitest/src/test/java/com/vaadin/tests/data/DataProviderRefreshTest.java b/uitest/src/test/java/com/vaadin/tests/data/DataProviderRefreshTest.java new file mode 100644 index 0000000000..f32ec543a8 --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/data/DataProviderRefreshTest.java @@ -0,0 +1,66 @@ +package com.vaadin.tests.data; + +import org.junit.Assert; +import org.junit.Test; + +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.testbench.elements.GridElement; +import com.vaadin.tests.tb3.SingleBrowserTest; + +public class DataProviderRefreshTest extends SingleBrowserTest { + + @Test + public void select_and_replace() { + openTestURL(); + GridElement grid = $(GridElement.class).first(); + Assert.assertFalse("Row should not be initially selected", + grid.getRow(0).isSelected()); + // Select item before replace + $(ButtonElement.class).caption("Select old").first().click(); + Assert.assertTrue("Row should be selected", + grid.getRow(0).isSelected()); + + $(ButtonElement.class).caption("Replace item").first().click(); + Assert.assertTrue("Row should still be selected after item replace", + grid.getRow(0).isSelected()); + Assert.assertEquals("Grid content was not updated.", "{ Bar, 10 }", + grid.getCell(0, 0).getText()); + + // Deselect row + grid.getCell(0, 0).click(); + Assert.assertFalse("Row should be deselected after click", + grid.getRow(0).isSelected()); + + Assert.assertEquals("Second row was affected", "{ Baz, 11 }", + grid.getCell(1, 0).getText()); + } + + @Test + public void replace_and_select() { + openTestURL(); + GridElement grid = $(GridElement.class).first(); + Assert.assertFalse("Row should not be initially selected", + grid.getRow(0).isSelected()); + + // Replace item before select + $(ButtonElement.class).caption("Replace item").first().click(); + Assert.assertFalse("Row should not be selected after item replace", + grid.getRow(0).isSelected()); + Assert.assertEquals("Grid content was not updated.", "{ Bar, 10 }", + grid.getCell(0, 0).getText()); + + $(ButtonElement.class).caption("Select old").first().click(); + Assert.assertTrue("Row should be selected", + grid.getRow(0).isSelected()); + Assert.assertEquals("Grid content should not update.", "{ Bar, 10 }", + grid.getCell(0, 0).getText()); + + // Deselect row + grid.getCell(0, 0).click(); + Assert.assertFalse("Row should be deselected after click", + grid.getRow(0).isSelected()); + + Assert.assertEquals("Second row was affected", "{ Baz, 11 }", + grid.getCell(1, 0).getText()); + } +} |