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.

TableSortingIndicatorTest.java 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.vaadin.tests.components.table;
  2. import static org.junit.Assert.assertFalse;
  3. import static org.junit.Assert.assertTrue;
  4. import org.junit.Test;
  5. import com.vaadin.testbench.elements.ButtonElement;
  6. import com.vaadin.testbench.elements.TableElement;
  7. import com.vaadin.tests.tb3.MultiBrowserTest;
  8. /**
  9. * Tests if the sort indicator is visible after the table has been sorted from
  10. * the serverside.
  11. *
  12. * @author Vaadin Ltd
  13. */
  14. public class TableSortingIndicatorTest extends MultiBrowserTest {
  15. private static final String TABLE_HEADER_DESC_INDICATOR = "v-table-header-cell-desc";
  16. private static final String TABLE_HEADER_ASC_INDICATOR = "v-table-header-cell-asc";
  17. @Test
  18. public void testTableSortingIndicatorIsVisibleAfterServersideSort() {
  19. openTestURL();
  20. ButtonElement button = $(ButtonElement.class).caption("Sort").first();
  21. TableElement table = $(TableElement.class).first();
  22. assertFalse("Descending indicator was prematurely visible",
  23. getHeaderClasses(table).contains(TABLE_HEADER_DESC_INDICATOR));
  24. assertFalse("Ascending indicator was prematurely visible",
  25. getHeaderClasses(table).contains(TABLE_HEADER_ASC_INDICATOR));
  26. button.click();
  27. assertTrue("Indicator did not become visible",
  28. getHeaderClasses(table).contains(TABLE_HEADER_DESC_INDICATOR));
  29. assertFalse("Ascending sort indicator was wrongly visible",
  30. getHeaderClasses(table).contains(TABLE_HEADER_ASC_INDICATOR));
  31. table.getHeaderCell(0).click();
  32. assertFalse("Table sort indicator didn't change",
  33. getHeaderClasses(table).contains(TABLE_HEADER_DESC_INDICATOR));
  34. assertTrue("Ascending sort indicator didn't become visible",
  35. getHeaderClasses(table).contains(TABLE_HEADER_ASC_INDICATOR));
  36. button.click();
  37. assertTrue(
  38. "Descending sort indicator didn't appear on the second serverside sort.",
  39. getHeaderClasses(table).contains(TABLE_HEADER_DESC_INDICATOR));
  40. assertFalse("Ascending sort indicator didn't disappear",
  41. getHeaderClasses(table).contains(TABLE_HEADER_ASC_INDICATOR));
  42. }
  43. private String getHeaderClasses(TableElement table) {
  44. return table.getHeaderCell(0).getAttribute("class");
  45. }
  46. }