aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/test/java/com/vaadin/tests/components/grid/GridRefreshRowTest.java
blob: 7c9aab17389f27bf4057d3d243c1d66236147f14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package com.vaadin.tests.components.grid;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import org.junit.Test;

import com.vaadin.testbench.elements.ButtonElement;
import com.vaadin.testbench.elements.CheckBoxElement;
import com.vaadin.testbench.elements.GridElement;
import com.vaadin.tests.tb3.SingleBrowserTest;

public class GridRefreshRowTest extends SingleBrowserTest {

    private GridElement grid;

    @Test
    public void refreshRow() {
        openTestURL();
        grid = $(GridElement.class).first();
        update(0);
        update(1);
        update(2);
        style(1);
        style(2);

        assertEquals("Lisa", grid.getCell(0, 1).getText());
        assertEquals("Joshua", grid.getCell(1, 1).getText());
        assertEquals("Marge", grid.getCell(2, 1).getText());

        assertFalse(hasCssClass(grid.getRow(0), "rowstyle"));
        assertFalse(hasCssClass(grid.getRow(1), "rowstyle"));
        assertFalse(hasCssClass(grid.getRow(2), "rowstyle"));
        assertFalse(hasCssClass(grid.getCell(0, 0), "cellstyle"));
        assertFalse(hasCssClass(grid.getCell(1, 0), "cellstyle"));
        assertFalse(hasCssClass(grid.getCell(2, 0), "cellstyle"));

        refresh(1);
        assertEquals("Lisa", grid.getCell(0, 1).getText());
        assertEquals("!Joshua", grid.getCell(1, 1).getText());
        assertEquals("Marge", grid.getCell(2, 1).getText());

        assertFalse(hasCssClass(grid.getRow(0), "rowstyle"));
        assertTrue(hasCssClass(grid.getRow(1), "rowstyle"));
        assertFalse(hasCssClass(grid.getRow(2), "rowstyle"));
        assertFalse(hasCssClass(grid.getCell(0, 0), "cellstyle"));
        assertTrue(hasCssClass(grid.getCell(1, 0), "cellstyle"));
        assertFalse(hasCssClass(grid.getCell(2, 0), "cellstyle"));

        // Assert refreshing works many times and for many rows at the same time
        update(0);
        update(1);
        update(2);
        refresh10First();
        assertEquals("!!Lisa", grid.getCell(0, 1).getText());
        assertEquals("!!Joshua", grid.getCell(1, 1).getText());
        assertEquals("!!Marge", grid.getCell(2, 1).getText());
    }

    private void refresh10First() {
        $(ButtonElement.class).id("refresh10").click();
    }

    private void update(int i) {
        $(ButtonElement.class).id("update" + i).click();
    }

    private void style(int i) {
        $(CheckBoxElement.class).id("style" + i).click();
    }

    private void refresh(int i) {
        $(ButtonElement.class).id("refresh" + i).click();
    }
}