You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

GridSelectAllFilteringTest.java 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.vaadin.tests.components.grid;
  2. import static org.junit.Assert.assertEquals;
  3. import org.junit.Test;
  4. import org.openqa.selenium.WebElement;
  5. import com.vaadin.testbench.By;
  6. import com.vaadin.testbench.elements.ButtonElement;
  7. import com.vaadin.testbench.elements.GridElement;
  8. import com.vaadin.tests.tb3.MultiBrowserTest;
  9. public class GridSelectAllFilteringTest extends MultiBrowserTest {
  10. @Test
  11. public void checkSelectAll() {
  12. openTestURL();
  13. GridElement grid = $(GridElement.class).first();
  14. ButtonElement toggleButton = $(ButtonElement.class).id("toggle");
  15. ButtonElement checkButton = $(ButtonElement.class).id("check");
  16. // ensure no initial selection
  17. checkButton.click();
  18. assertEquals("Unexpected log entry,", "1. selected 0", getLogRow(0));
  19. assertEquals("Unexpected amount of visually selected rows,", 0,
  20. grid.findElements(By.className("v-grid-row-selected")).size());
  21. // select all
  22. WebElement selectAllCheckbox = grid
  23. .findElement(By.className("v-grid-select-all-checkbox"));
  24. selectAllCheckbox.click();
  25. // ensure only the two visible rows get selected
  26. checkButton.click();
  27. assertEquals("Unexpected log entry,",
  28. "2. selected 2: Nicolaus Copernicus, Galileo Galilei",
  29. getLogRow(0));
  30. assertEquals("Unexpected amount of visually selected rows,", 2,
  31. grid.findElements(By.className("v-grid-row-selected")).size());
  32. // toggle filter
  33. toggleButton.click();
  34. // ensure selection did not change but only one selected row is visible
  35. checkButton.click();
  36. assertEquals("Unexpected log entry,",
  37. "3. selected 2: Nicolaus Copernicus, Galileo Galilei",
  38. getLogRow(0));
  39. assertEquals("Unexpected amount of visually selected rows,", 1,
  40. grid.findElements(By.className("v-grid-row-selected")).size());
  41. // remove all selections
  42. selectAllCheckbox.click();
  43. // ensure all selections got removed whether they were visible or not
  44. checkButton.click();
  45. assertEquals("Unexpected log entry,", "4. selected 0", getLogRow(0));
  46. assertEquals("Unexpected amount of visually selected rows,", 0,
  47. grid.findElements(By.className("v-grid-row-selected")).size());
  48. }
  49. }