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.

GridDetailsDetachTest.java 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.vaadin.tests.components.grid;
  2. import static org.junit.Assert.assertEquals;
  3. import java.util.List;
  4. import org.junit.Test;
  5. import org.openqa.selenium.By;
  6. import org.openqa.selenium.WebElement;
  7. import com.vaadin.testbench.elements.ButtonElement;
  8. import com.vaadin.testbench.elements.GridElement;
  9. import com.vaadin.testbench.parallel.TestCategory;
  10. import com.vaadin.tests.tb3.MultiBrowserTest;
  11. @TestCategory("grid")
  12. public class GridDetailsDetachTest extends MultiBrowserTest {
  13. @Test
  14. public void testDetachGridWithDetailsOpen() {
  15. setDebug(true);
  16. openTestURL();
  17. $(GridElement.class).first().getCell(3, 0).click();
  18. $(GridElement.class).first().getCell(5, 0).click();
  19. assertNoErrorNotifications();
  20. $(ButtonElement.class).first().click();
  21. assertNoErrorNotifications();
  22. }
  23. @Test
  24. public void testDetachAndReattachGridWithDetailsOpen() {
  25. setDebug(true);
  26. openTestURL();
  27. $(GridElement.class).first().getCell(1, 0).click();
  28. $(GridElement.class).first().getCell(3, 0).click();
  29. assertNoErrorNotifications();
  30. $(ButtonElement.class).first().click();
  31. assertNoErrorNotifications();
  32. $(ButtonElement.class).get(1).click();
  33. assertNoErrorNotifications();
  34. List<WebElement> spacers = findElements(By.className("v-grid-spacer"));
  35. assertEquals("Not enough spacers in DOM", 2, spacers.size());
  36. assertEquals("Spacer content not visible", "Extra data for Bean 1",
  37. spacers.get(0).getText());
  38. assertEquals("Spacer content not visible", "Extra data for Bean 3",
  39. spacers.get(1).getText());
  40. }
  41. @Test
  42. public void testDetachAndImmediateReattach() {
  43. setDebug(true);
  44. openTestURL();
  45. $(GridElement.class).first().getCell(1, 0).click();
  46. $(GridElement.class).first().getCell(3, 0).click();
  47. assertNoErrorNotifications();
  48. // Detach and Re-attach Grid
  49. $(ButtonElement.class).get(1).click();
  50. assertNoErrorNotifications();
  51. List<WebElement> spacers = findElements(By.className("v-grid-spacer"));
  52. assertEquals("Not enough spacers in DOM", 2, spacers.size());
  53. assertEquals("Spacer content not visible", "Extra data for Bean 1",
  54. spacers.get(0).getText());
  55. assertEquals("Spacer content not visible", "Extra data for Bean 3",
  56. spacers.get(1).getText());
  57. }
  58. }