1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package com.vaadin.tests.components.table;
-
- import static org.hamcrest.CoreMatchers.is;
- import static org.hamcrest.MatcherAssert.assertThat;
-
- import org.junit.Test;
- import org.openqa.selenium.WebDriver;
- import org.openqa.selenium.support.ui.ExpectedCondition;
-
- import com.vaadin.testbench.TestBenchElement;
- import com.vaadin.testbench.elements.TableElement;
- import com.vaadin.testbench.elements.ButtonElement;
- import com.vaadin.tests.tb3.MultiBrowserTest;
-
- public class DisabledSortingTableTest extends MultiBrowserTest {
-
- Class<?> uiClass;
-
- @Override
- protected Class<?> getUIClass() {
- return uiClass;
- };
-
- @Test
- public void sortingByEmptyArrayShouldClearSortingIndicator() {
- uiClass = DisabledSortingTable.class;
- openTestURL();
-
- assertThatFirstCellHasText("0");
-
- sortFirstColumnAscending();
- assertThatFirstCellHasText("4");
-
- disableSorting();
-
- sortByEmptyArray();
- assertThatFirstCellHasText("4");
- }
-
- private void sortFirstColumnAscending() {
- getFirstColumnHeader().click();
- waitUntilHeaderHasExpectedClass("v-table-header-cell-asc");
- }
-
- private TestBenchElement getFirstColumnHeader() {
- return getTable().getHeaderCell(1);
- }
-
- private TableElement getTable() {
- return $(TableElement.class).first();
- }
-
- private void assertThatFirstCellHasText(String text) {
- assertThat(getTable().getCell(0, 0).getText(), is(text));
- }
-
- private void sortByEmptyArray() {
- $(ButtonElement.class).caption("Sort by empty array").first().click();
-
- waitUntilHeaderHasExpectedClass("v-table-header-cell");
- }
-
- private void disableSorting() {
- $(ButtonElement.class).caption("Disable sorting").first().click();
- }
-
- protected void waitUntilHeaderHasExpectedClass(final String className) {
- final TestBenchElement header = getFirstColumnHeader();
- waitUntil(new ExpectedCondition<Boolean>() {
- @Override
- public Boolean apply(WebDriver input) {
- return header.getAttribute("class").contains(className);
- }
-
- @Override
- public String toString() {
- // Timed out after 10 seconds waiting for ...
- return String.format("header to get class name '%s'",
- className);
- }
- });
- }
- }
|