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.

GridGeneratedPropertiesTest.java 2.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package com.vaadin.tests.components.grid;
  2. import static org.junit.Assert.assertEquals;
  3. import static org.junit.Assert.assertFalse;
  4. import static org.junit.Assert.assertTrue;
  5. import java.util.Locale;
  6. import org.junit.Test;
  7. import com.vaadin.testbench.elements.GridElement;
  8. import com.vaadin.testbench.elements.GridElement.GridCellElement;
  9. import com.vaadin.testbench.elements.NotificationElement;
  10. import com.vaadin.testbench.parallel.TestCategory;
  11. import com.vaadin.tests.tb3.MultiBrowserTest;
  12. @TestCategory("grid")
  13. public class GridGeneratedPropertiesTest extends MultiBrowserTest {
  14. @Test
  15. public void testMilesColumnExists() {
  16. openTestURL();
  17. GridElement grid = $(GridElement.class).first();
  18. assertEquals("Miles header wasn't present.", "miles",
  19. grid.getHeaderCell(0, 2).getText().toLowerCase(Locale.ROOT));
  20. }
  21. @Test
  22. public void testUnsortableGeneratedProperty() {
  23. openTestURL();
  24. GridElement grid = $(GridElement.class).first();
  25. // Overwritten foo property should not be sortable
  26. GridCellElement fooHeader = grid.getHeaderCell(0, 0);
  27. fooHeader.click();
  28. assertFalse("Column foo was unexpectedly sorted.",
  29. fooHeader.getAttribute("class").contains("sort"));
  30. // Generated property miles is not sortable
  31. GridCellElement milesHeader = grid.getHeaderCell(0, 2);
  32. milesHeader.click();
  33. assertFalse("Column miles was unexpectedly sorted.",
  34. milesHeader.getAttribute("class").contains("sort"));
  35. }
  36. @Test
  37. public void testSortableGeneratedProperty() {
  38. openTestURL();
  39. GridElement grid = $(GridElement.class).first();
  40. // Generated property baz is sortable
  41. GridCellElement bazHeader = grid.getHeaderCell(0, 3);
  42. bazHeader.click();
  43. assertTrue("Column baz was not sorted ascending",
  44. bazHeader.getAttribute("class").contains("sort-asc"));
  45. bazHeader.click();
  46. assertTrue("Column baz was not sorted descending",
  47. bazHeader.getAttribute("class").contains("sort-desc"));
  48. }
  49. @Test
  50. public void testInitialSorting() {
  51. // Grid is sorted in this case by one visible and one nonexistent
  52. // column. There should be no sort indicator.
  53. setDebug(true);
  54. openTestURL();
  55. GridElement grid = $(GridElement.class).first();
  56. GridCellElement kmHeader = grid.getHeaderCell(0, 1);
  57. assertFalse("Column km was unexpectedly sorted",
  58. kmHeader.getAttribute("class").contains("sort-asc") || kmHeader
  59. .getAttribute("class").contains("sort-desc"));
  60. assertFalse("Unexpected client-side exception was visible",
  61. isElementPresent(NotificationElement.class));
  62. }
  63. }