123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232 |
- package com.vaadin.tests.components.table;
-
- import java.util.List;
-
- import org.junit.Test;
- import org.openqa.selenium.interactions.Actions;
-
- import com.vaadin.testbench.By;
- import com.vaadin.testbench.TestBenchElement;
- import com.vaadin.testbench.elements.CheckBoxElement;
- import com.vaadin.testbench.elements.TableElement;
- import com.vaadin.tests.tb3.TooltipTest;
-
- import static org.junit.Assert.assertEquals;
-
- /**
- * Tests Table tooltips with various settings.
- *
- * @author Vaadin Ltd
- */
- public class TableItemDescriptionGeneratorUITest extends TooltipTest {
-
- @Test
- public void testDescriptions() throws Exception {
- openTestURL();
-
- checkTooltipNotPresent();
-
- TableElement table = $(TableElement.class).first();
- List<CheckBoxElement> checkboxes = $(CheckBoxElement.class).all();
- assertEquals(3, checkboxes.size());
-
- // check text description
- TestBenchElement cell_1_0 = table.getCell(1, 0);
- cell_1_0.showTooltip();
- checkTooltip("Cell description item 1, Text");
-
- // move somewhere without a description
- checkboxes.get(2).showTooltip();
- checkTooltipNotPresent();
-
- // check button description
- TestBenchElement cell_1_1 = table.getCell(1, 1);
- cell_1_1.showTooltip();
- checkTooltip("Button 1 description");
-
- // move somewhere without a description
- checkboxes.get(2).showTooltip();
- checkTooltipNotPresent();
-
- // check textfield's description
- TestBenchElement cell_1_2 = table.getCell(1, 2);
- cell_1_2.showTooltip();
- checkTooltip("Textfield's own description");
-
- // move somewhere without a description
- checkboxes.get(2).showTooltip();
- checkTooltipNotPresent();
-
- // uncheck component tooltips
- checkboxes.get(0).findElement(By.tagName("input")).click();
-
- // check text description
- cell_1_0 = table.getCell(1, 0);
- cell_1_0.showTooltip();
- checkTooltip("Cell description item 1, Text");
-
- // move somewhere without a description
- checkboxes.get(2).showTooltip();
- checkTooltipNotPresent();
-
- // check button description
- cell_1_1 = table.getCell(1, 1);
- cell_1_1.showTooltip();
- checkTooltip("Cell description item 1, Component");
-
- // move somewhere without a description
- new Actions(getDriver()).moveToElement(checkboxes.get(2)).perform();
- sleep(1000);
- checkTooltipNotPresent();
-
- // check textfield's description
- cell_1_2 = table.getCell(1, 2);
- cell_1_2.showTooltip();
- checkTooltip("Cell description item 1, Generated component");
-
- // move somewhere without a description
- checkboxes.get(2).showTooltip();
- checkTooltipNotPresent();
-
- // check component tooltips
- checkboxes.get(0).findElement(By.tagName("input")).click();
- // uncheck cell tooltips
- checkboxes.get(1).findElement(By.tagName("input")).click();
-
- // check text description
- cell_1_0 = table.getCell(1, 0);
- cell_1_0.showTooltip();
- checkTooltip("Row description item 1");
-
- // move somewhere without a description
- checkboxes.get(2).showTooltip();
- checkTooltipNotPresent();
-
- // check button description
- cell_1_1 = table.getCell(1, 1);
- cell_1_1.showTooltip();
- checkTooltip("Button 1 description");
-
- // move somewhere without a description
- checkboxes.get(2).showTooltip();
- checkTooltipNotPresent();
-
- // check textfield's description
- cell_1_2 = table.getCell(1, 2);
- cell_1_2.showTooltip();
- checkTooltip("Textfield's own description");
-
- // move somewhere without a description
- checkboxes.get(2).showTooltip();
- checkTooltipNotPresent();
-
- // uncheck component tooltips
- checkboxes.get(0).findElement(By.tagName("input")).click();
-
- // check text description
- cell_1_0 = table.getCell(1, 0);
- cell_1_0.showTooltip();
- checkTooltip("Row description item 1");
-
- // move somewhere without a description
- checkboxes.get(2).showTooltip();
- checkTooltipNotPresent();
-
- // check button description
- cell_1_1 = table.getCell(1, 1);
- cell_1_1.showTooltip();
- checkTooltip("Row description item 1");
-
- // move somewhere without a description
- checkboxes.get(2).showTooltip();
- checkTooltipNotPresent();
-
- // check textfield's description
- cell_1_2 = table.getCell(1, 2);
- cell_1_2.showTooltip();
- checkTooltip("Row description item 1");
-
- // move somewhere without a description
- checkboxes.get(2).showTooltip();
- checkTooltipNotPresent();
- }
-
- @Test
- public void testPosition() throws Exception {
- openTestURL();
-
- TableElement table = $(TableElement.class).first();
- List<CheckBoxElement> checkboxes = $(CheckBoxElement.class).all();
- assertEquals(3, checkboxes.size());
-
- TestBenchElement cell_3_0 = table.getCell(3, 0);
-
- // move to the center of the cell
- new Actions(getDriver()).moveToElement(cell_3_0).perform();
- sleep(1000);
-
- // ensure the tooltip is present
- checkTooltip("Cell description item 3, Text");
- clearTooltip();
-
- // move outside the cell
- new Actions(getDriver()).moveToElement(checkboxes.get(2)).perform();
-
- // move to the corner of the cell
- moveToCorner(cell_3_0);
- sleep(1000);
-
- // ensure the tooltip is present
- checkTooltip("Cell description item 3, Text");
- clearTooltip();
-
- // uncheck cell tooltips
- checkboxes.get(1).findElement(By.tagName("input")).click();
-
- TestBenchElement cell_1_1 = table.getCell(1, 1);
-
- // move to the center of the cell
- new Actions(getDriver()).moveToElement(cell_1_1).perform();
- sleep(1000);
-
- // ensure the tooltip is present
- checkTooltip("Button 1 description");
- clearTooltip();
-
- // move to the corner of the element, outside of the button
- moveToCorner(cell_1_1);
- sleep(1000);
-
- // ensure the tooltip is present
- checkTooltip("Row description item 1");
- clearTooltip();
-
- // check cell tooltips
- checkboxes.get(1).findElement(By.tagName("input")).click();
-
- TestBenchElement cell_4_2 = table.getCell(4, 2);
-
- // move to the center of the cell
- new Actions(getDriver()).moveToElement(cell_4_2).perform();
- sleep(1000);
-
- // ensure the tooltip is present
- checkTooltip("Textfield's own description");
- clearTooltip();
-
- // move to the corner of the element, outside of the textfield
- moveToCorner(cell_4_2);
- sleep(1000);
-
- // ensure the tooltip is present
- checkTooltip("Cell description item 4, Generated component");
- clearTooltip();
- }
-
- private void moveToCorner(TestBenchElement cell) {
- new Actions(getDriver())
- .moveToElement(cell, getXOffset(cell, 0), getYOffset(cell, 0))
- .perform();
- }
-
- }
|