123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- package com.vaadin.tests.navigator;
-
- import static org.junit.Assert.assertEquals;
-
- import org.junit.Test;
-
- import com.vaadin.testbench.elements.ButtonElement;
- import com.vaadin.testbench.elements.LabelElement;
- import com.vaadin.testbench.elements.TextFieldElement;
- import com.vaadin.testbench.elements.WindowElement;
- import com.vaadin.tests.tb3.SingleBrowserTest;
-
- public class DelayedViewLeaveConfirmationTest extends SingleBrowserTest {
-
- @Test
- public void navigateAwayWithoutChanges() {
- openMainView();
- navigateToOtherView();
- assertOnOtherView();
- }
-
- @Test
- public void cancelNavigateAwayWithChanges() {
- openMainView();
- updateValue();
- navigateToOtherView();
- assertOnMainView();
- chooseToStay();
- assertOnMainView();
- }
-
- @Test
- public void confirmNavigateAwayWithChanges() {
- openMainView();
- updateValue();
- navigateToOtherView();
- assertOnMainView();
- chooseToLeave();
- assertOnOtherView();
- }
-
- @Test
- public void confirmLogoutWithChanges() {
- openMainView();
- updateValue();
- logout();
- assertOnMainView();
- chooseToLeave();
- assertLoggedOut();
- }
-
- @Test
- public void cancelLogoutWithChanges() {
- openMainView();
- updateValue();
- logout();
- assertOnMainView();
- chooseToStay();
- assertOnMainView();
- }
-
- @Test
- public void logoutWithoutChanges() {
- openMainView();
- getLogout().click();
- assertLoggedOut();
-
- }
-
- private void openMainView() {
- String url = getTestURL(DelayedViewLeaveConfirmation.class);
- url += "#!main";
-
- driver.get(url);
- }
-
- private void navigateToOtherView() {
- getNavigateAway().click();
- }
-
- private void logout() {
- getLogout().click();
- }
-
- private void assertOnOtherView() {
- assertEquals("Just another view",
- $(LabelElement.class).first().getText());
- }
-
- private void assertOnMainView() {
- assertEquals("Saved value", $(LabelElement.class).first().getCaption());
- }
-
- private void assertLoggedOut() {
- assertEquals("You have been logged out",
- $(LabelElement.class).first().getText());
- }
-
- private void chooseToStay() {
- $(WindowElement.class).first().$(ButtonElement.class).id("stay")
- .click();
- }
-
- private void chooseToLeave() {
- $(WindowElement.class).first().$(ButtonElement.class).id("leave")
- .click();
- }
-
- private void updateValue() {
- TextFieldElement input = $(TextFieldElement.class).id("input");
- input.setValue(input.getValue() + "-upd");
- }
-
- private ButtonElement getNavigateAway() {
- return $(ButtonElement.class).id("navigateAway");
- }
-
- private ButtonElement getLogout() {
- return $(ButtonElement.class).id("logout");
- }
- }
|