aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/test/java/com/vaadin/tests/components/grid/DisallowedDeselectionTest.java
blob: e9e013a5fc0f39d360abdaa00df1dae3d4ba958f (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
package com.vaadin.tests.components.grid;

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.GridElement;
import com.vaadin.testbench.elements.GridElement.GridRowElement;
import com.vaadin.tests.tb3.MultiBrowserTest;

/**
 * @author Vaadin Ltd
 *
 */
public class DisallowedDeselectionTest extends MultiBrowserTest {

    @Test
    public void checkDeselection() {
        openTestURL();

        GridRowElement row = $(GridElement.class).first().getRow(0);
        assertFalse(row.isSelected());

        select(row);
        assertTrue(row.isSelected());

        // deselection is disallowed
        select(row);
        assertTrue(row.isSelected());

        // select another row
        GridRowElement oldRow = row;
        row = $(GridElement.class).first().getRow(1);
        select(row);
        assertTrue(row.isSelected());
        assertFalse(oldRow.isSelected());

        $(ButtonElement.class).first().click();

        select(row);
        assertFalse(row.isSelected());
    }

    private void select(GridRowElement row) {
        row.getCell(0).click();
    }
}