Package com.googlecode.memwords.web.integration.preferences

Source Code of com.googlecode.memwords.web.integration.preferences.PreferencesTest

package com.googlecode.memwords.web.integration.preferences;

import static com.googlecode.memwords.web.integration.util.IntegrationUtils.*;

import org.junit.Before;
import org.junit.Test;

import com.gargoylesoftware.htmlunit.WebAssert;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
import com.gargoylesoftware.htmlunit.html.HtmlPage;

/**
* Integration tests for the preferences page
* @author JB
*/
public class PreferencesTest {
    @Before
    public void setUp() throws Exception {
        setUpData();
    }

    @Test
    public void testPage() throws Exception {
        WebClient wc = startWebClient();
        login(wc);
        HtmlPage page = wc.getPage(url("/preferences/Preferences.action"));
        testBasics(page);
        testTitle(page, "Preferences");
    }

    @Test
    public void testLinks() throws Exception {
        WebClient wc = startWebClient(false);
        login(wc);
        HtmlPage page = wc.getPage(url("/preferences/Preferences.action"));
        HtmlAnchor changePreferredLocaleLink = page.getAnchorByText("Choose your preferred language");
        changePreferredLocaleLink.click();
        wc.waitForBackgroundJavaScript(10000L);
        WebAssert.assertElementPresent(page, "changePreferredLocaleForm");
        testBasics(page);

        HtmlAnchor changePreferredTimeZoneLink = page.getAnchorByText("Choose your time zone");
        changePreferredTimeZoneLink.click();
        wc.waitForBackgroundJavaScript(10000L);
        WebAssert.assertElementNotPresent(page, "changePreferredLocaleForm");
        WebAssert.assertElementPresent(page, "changePreferredTimeZoneForm");
        WebAssert.assertElementNotPresent(page, "changePasswordPreferencesForm");
        WebAssert.assertElementNotPresent(page, "changePasswordGenerationPreferencesForm");
        testBasics(page);

        HtmlAnchor changePasswordPreferencesLink = page.getAnchorByText("Password preferences");
        changePasswordPreferencesLink.click();
        wc.waitForBackgroundJavaScript(10000L);
        WebAssert.assertElementNotPresent(page, "changePreferredLocaleForm");
        WebAssert.assertElementNotPresent(page, "changePreferredTimeZoneForm");
        WebAssert.assertElementPresent(page, "changePasswordPreferencesForm");
        WebAssert.assertElementNotPresent(page, "changePasswordGenerationPreferencesForm");
        testBasics(page);

        HtmlAnchor changePasswordGenerationPreferencesLink = page.getAnchorByText("Random password generation preferences");
        changePasswordGenerationPreferencesLink.click();
        wc.waitForBackgroundJavaScript(10000L);
        WebAssert.assertElementNotPresent(page, "changePreferredLocaleForm");
        WebAssert.assertElementNotPresent(page, "changePreferredTimeZoneForm");
        WebAssert.assertElementNotPresent(page, "changePasswordPreferencesForm");
        WebAssert.assertElementPresent(page, "changePasswordGenerationPreferencesForm");
        testBasics(page);
    }

    @Test
    public void testLinksWithoutJavascript() throws Exception {
        WebClient wc = startWebClient();
        wc.setJavaScriptEnabled(false);
        login(wc);
        HtmlPage page = wc.getPage(url("/preferences/Preferences.action"));
        HtmlAnchor changePreferredLocaleLink = page.getAnchorByText("Choose your preferred language");
        HtmlPage changePreferredLocalePage = changePreferredLocaleLink.click();
        testTitle(changePreferredLocalePage, "Choose preferred language");

        HtmlAnchor changePreferredTimeZoneLink = page.getAnchorByText("Choose your time zone");
        HtmlPage changePreferredTimeZonePage = changePreferredTimeZoneLink.click();
        testTitle(changePreferredTimeZonePage, "Choose time zone");

        HtmlAnchor changePasswordPreferencesLink = page.getAnchorByText("Password preferences");
        HtmlPage changePasswordPreferencesPage = changePasswordPreferencesLink.click();
        testTitle(changePasswordPreferencesPage, "Password preferences");

        HtmlAnchor changePasswordGenerationPreferencesLink = page.getAnchorByText("Random password generation preferences");
        HtmlPage changePasswordGenerationPreferencesPage = changePasswordGenerationPreferencesLink.click();
        testTitle(changePasswordGenerationPreferencesPage, "Random password generation preferences");
    }
}
TOP

Related Classes of com.googlecode.memwords.web.integration.preferences.PreferencesTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.