From 9bb15290835800f5cf64ba536aaedf7ea35dd0ca Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Tue, 5 Jul 2016 13:37:07 +0300 Subject: Fix navigation to same view with different parameters (#20029) Change-Id: I0ecc18f0ee5aecac42cfc6c9422932e2e308ab83 --- .../com/vaadin/tests/navigator/NavigationTest.java | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 uitest/src/test/java/com/vaadin/tests/navigator/NavigationTest.java (limited to 'uitest/src/test') diff --git a/uitest/src/test/java/com/vaadin/tests/navigator/NavigationTest.java b/uitest/src/test/java/com/vaadin/tests/navigator/NavigationTest.java new file mode 100644 index 0000000000..59f71f3724 --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/navigator/NavigationTest.java @@ -0,0 +1,54 @@ +package com.vaadin.tests.navigator; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +import com.vaadin.testbench.By; +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.testbench.elements.TableElement; +import com.vaadin.testbench.elements.TableRowElement; +import com.vaadin.testbench.elements.TextFieldElement; +import com.vaadin.tests.tb3.SingleBrowserTest; + +public class NavigationTest extends SingleBrowserTest { + + @Override + protected Class getUIClass() { + return NavigatorTest.class; + } + + @Test + public void testNavigateToSameViewWithDifferentParameters() { + openTestURL(); + + ButtonElement listButton = $(ButtonElement.class).caption( + "Navigate to list").first(); + listButton.click(); + + TableElement table = $(TableElement.class).first(); + assertEquals("Unexpected navigation message", + "2. Navigated to ListView without params", getLogRow(0)); + + assertFalse("Table should not have contents", + table.isElementPresent(By.vaadin("#row[0]"))); + + listButton.click(); + assertEquals("Should not navigate to same view again.", + "2. Navigated to ListView without params", getLogRow(0)); + + $(TextFieldElement.class).first().sendKeys("foo=1"); + listButton.click(); + + assertEquals("Should not navigate to same view again.", + "3. Navigated to ListView with params foo=1", getLogRow(0)); + + assertTrue("Table should have content", + table.isElementPresent(By.vaadin("#row[0]"))); + TableRowElement row = table.getRow(0); + assertEquals("Unexpected row content", "foo", row.getCell(0).getText()); + assertEquals("Unexpected row content", "1", row.getCell(1).getText()); + } +} -- cgit v1.2.3