]> source.dussan.org Git - vaadin-framework.git/commitdiff
Add test for Components in Grid Header (#9696)
authorTeemu Suo-Anttila <tsuoanttila@users.noreply.github.com>
Thu, 20 Jul 2017 11:38:09 +0000 (14:38 +0300)
committerGitHub <noreply@github.com>
Thu, 20 Jul 2017 11:38:09 +0000 (14:38 +0300)
Closes #9694

uitest/src/main/java/com/vaadin/tests/components/grid/GridComponents.java
uitest/src/test/java/com/vaadin/tests/components/grid/GridComponentsTest.java

index e1bf0f354a8fe78a094a34a260ef432d0a1850dd..92ba75869cf8a8b2a19f816de60d24f31d71c231 100644 (file)
@@ -26,7 +26,9 @@ public class GridComponents extends AbstractTestUIWithLog {
     protected void setup(VaadinRequest request) {
         Grid<String> grid = new Grid<>();
         grid.addColumn(string -> new Label(string), new ComponentRenderer())
-                .setCaption("Label");
+                .setId("label").setCaption("Column 0");
+        grid.getDefaultHeaderRow().getCell("label")
+                .setComponent(new Label("Label"));
         grid.addComponentColumn(string -> {
             if (textFields.containsKey(string)) {
                 log("Reusing old text field for: " + string);
index 70966b373ef369146f6c20a65fd36d9f9c6cc2d7..045d205f872de37652c5c88f42640fbbff5ace69 100644 (file)
@@ -12,6 +12,7 @@ import com.vaadin.testbench.elements.ButtonElement;
 import com.vaadin.testbench.elements.GridElement;
 import com.vaadin.testbench.elements.GridElement.GridCellElement;
 import com.vaadin.testbench.elements.GridElement.GridRowElement;
+import com.vaadin.testbench.elements.LabelElement;
 import com.vaadin.testbench.elements.NotificationElement;
 import com.vaadin.tests.tb3.MultiBrowserTest;
 
@@ -108,11 +109,24 @@ public class GridComponentsTest extends MultiBrowserTest {
         IntStream.range(300, 310).forEach(this::assertNoButton);
     }
 
+    @Test(expected = AssertionError.class)
+    public void testRow31() {
+        openTestURL();
+        // There is a button on row 31. This should fail.
+        assertNoButton(31);
+    }
+
     @Test
     public void testHeaders() {
         openTestURL();
         GridElement grid = $(GridElement.class).first();
-        Assert.assertEquals("Label", grid.getHeaderCell(0, 0).getText());
+        GridCellElement headerCell = grid.getHeaderCell(0, 0);
+        Assert.assertTrue("First header should contain a Label",
+                headerCell.isElementPresent(LabelElement.class));
+        Assert.assertEquals("Label",
+                headerCell.$(LabelElement.class).first().getText());
+        Assert.assertFalse("Second header should not contain a component",
+                grid.getHeaderCell(0, 1).isElementPresent(LabelElement.class));
         Assert.assertEquals("Other Components",
                 grid.getHeaderCell(0, 1).getText());
     }