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

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

import java.util.List;

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;

import com.vaadin.testbench.elements.LabelElement;
import com.vaadin.tests.tb3.MultiBrowserTest;

public class GridClickableRenderersTest extends MultiBrowserTest {

    @Test
    public void clickableRenderersPresent() {
        openTestURL();
        assertTrue(isElementPresent(By.className("v-nativebutton")));
        assertTrue(isElementPresent(By.className("gwt-Image")));
    }

    @Test
    public void buttonRendererReturnsCorrectItem() {
        openTestURL();
        List<WebElement> findElements = findElements(
                By.className("v-nativebutton"));
        WebElement firstRowTextButton = findElements.get(0);
        WebElement firstRowHtmlButton = findElements.get(1);
        assertEquals("button 1 text", firstRowTextButton.getText());
        // If it was rendered as text, getText() would return the markup also
        assertEquals("button 1 html", firstRowHtmlButton.getText());

        WebElement secondRowTextButton = findElements.get(3);
        WebElement secondRowHtmlButton = findElements.get(4);
        assertEquals("button 2 text", secondRowTextButton.getText());
        // If it was rendered as text, getText() would return the markup also
        assertEquals("button 2 html", secondRowHtmlButton.getText());

        LabelElement label = $(LabelElement.class).get(1);

        firstRowTextButton.click();
        assertEquals("first row clicked", label.getText());

        secondRowTextButton.click();
        assertEquals("second row clicked", label.getText());
    }

    @Test
    public void checkBoxRendererClick() {
        openTestURL();
        WebElement firstRowButton = findElements(By.className("v-nativebutton"))
                .get(2);
        WebElement secondRowButton = findElements(
                By.className("v-nativebutton")).get(5);
        LabelElement label = $(LabelElement.class).get(2);

        firstRowButton.click();
        assertEquals("first row false", label.getText());

        secondRowButton.click();
        assertEquals("second row true", label.getText());
    }
}