Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
Merge branch 'integration/master' into dashboard
Browse files Browse the repository at this point in the history
Conflicts:
	functional-test/src/main/java/org/zanata/page/BasePage.java
	functional-test/src/test/java/org/zanata/feature/account/ChangePasswordTest.java
  • Loading branch information
Alex Eng committed Aug 1, 2013
2 parents 10c78f4 + a07a9f1 commit 553f957
Show file tree
Hide file tree
Showing 11 changed files with 92 additions and 87 deletions.
47 changes: 18 additions & 29 deletions functional-test/src/main/java/org/zanata/page/BasePage.java
Expand Up @@ -50,6 +50,8 @@
import java.util.Collections;
import java.util.List;

import javax.annotation.Nullable;

/**
* @author Damian Jansen <a href="mailto:djansen@redhat.com">djansen@redhat.com</a>
*
Expand All @@ -61,8 +63,6 @@ public class BasePage extends AbstractPage
{
private List<WebElement> navMenuItems = Collections.emptyList();

private static final By BY_SIGN_OUT = By.id("right_menu_sign_out_link");

@FindBy(id = "nav-main")
WebElement navBar;

Expand All @@ -78,10 +78,11 @@ public class BasePage extends AbstractPage
@FindBy(id = "user_avatar")
private WebElement userAvatar;

private By BY_SIGN_IN = By.id("signin_link");
private By BY_PROFILE_LINK = By.id("profile");
private By BY_ADMINISTRATION_LINK = By.id("administration");

private static final By BY_SIGN_IN = By.id("signin_link");
private static final By BY_SIGN_OUT = By.id("right_menu_sign_out_link");
private static final By BY_PROFILE_LINK = By.id("profile");
private static final By BY_ADMINISTRATION_LINK = By.id("administration");

public BasePage(final WebDriver driver)
{
super(driver);
Expand Down Expand Up @@ -116,12 +117,15 @@ public AdministrationPage goToAdministration()
waitForSideMenuOpened();

clickLinkAfterAnimation(BY_ADMINISTRATION_LINK);

return new AdministrationPage(getDriver());
}

public RegisterPage goToRegistration()
{
WebElement registerLink = getDriver().findElement(By.id("register_link_internal_auth"));
Preconditions.checkArgument(!hasLoggedIn(),
"User has logged in! You should sign out or delete cookie first in your test.");
WebElement registerLink = getDriver().findElement(By.id("register_link_internal_link"));
registerLink.click();
return new RegisterPage(getDriver());
}
Expand Down Expand Up @@ -149,38 +153,26 @@ public HomePage logout()
userAvatar.click();

waitForSideMenuOpened();

clickLinkAfterAnimation(BY_SIGN_OUT);

waitForTenSec().until(new Function<WebDriver, WebElement>()
{
@Override
public WebElement apply(WebDriver driver)
{
return driver.findElement(BY_SIGN_IN);
}
});
clickLinkAfterAnimation(BY_SIGN_OUT);
return new HomePage(getDriver());
}

public List<String> getBreadcrumbLinks()
{
List<WebElement> breadcrumbs = getDriver().findElement(By.id("breadcrumbs_panel")).findElements(
By.className("breadcrumbs_link"));
List<WebElement> breadcrumbs = getDriver().findElement(By.id("breadcrumbs_panel")).findElements(By.className("breadcrumbs_link"));
return WebElementUtil.elementsToText(breadcrumbs);
}

public String getLastBreadCrumbText()
{
WebElement breadcrumb = getDriver().findElement(By.id("breadcrumbs_panel")).findElement(
By.className("breadcrumbs_display"));
WebElement breadcrumb = getDriver().findElement(By.id("breadcrumbs_panel")).findElement(By.className("breadcrumbs_display"));
return breadcrumb.getText();
}

public <P> P clickBreadcrumb(final String link, Class<P> pageClass)
{
List<WebElement> breadcrumbs = getDriver().findElement(By.id("breadcrumbs_panel")).findElements(
By.className("breadcrumbs_link"));
List<WebElement> breadcrumbs = getDriver().findElement(By.id("breadcrumbs_panel")).findElements(By.className("breadcrumbs_link"));
Predicate<WebElement> predicate = new Predicate<WebElement>()
{
@Override
Expand All @@ -195,17 +187,14 @@ public boolean apply(WebElement input)
breadcrumbLink.get().click();
return PageFactory.initElements(getDriver(), pageClass);
}
throw new RuntimeException("can not find " + link + " in breadcrumb: "
+ WebElementUtil.elementsToText(breadcrumbs));
throw new RuntimeException("can not find " + link + " in breadcrumb: " + WebElementUtil.elementsToText(breadcrumbs));
}

public List<String> getNavigationMenuItems()
{
Collection<String> linkTexts = Collections2.transform(navMenuItems, new Function<WebElement, String>()
{
Collection<String> linkTexts = Collections2.transform(navMenuItems, new Function<WebElement, String>() {
@Override
public String apply(WebElement link)
{
public String apply(WebElement link) {
return link.getText();
}
});
Expand Down
Expand Up @@ -21,16 +21,11 @@
package org.zanata.page.account;


import com.google.common.base.Function;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.zanata.page.AbstractPage;
import org.zanata.page.BasePage;

import java.util.List;

/**
* @author Damian Jansen <a href="mailto:djansen@redhat.com">djansen@redhat.com</a>
*/
Expand Down
Expand Up @@ -69,16 +69,9 @@ public ManageUserAccountPage(WebDriver driver)

public ManageUserAccountPage enterUsername(final String username)
{
waitForTenSec().until(new Predicate<WebDriver>()
{
@Override
public boolean apply(WebDriver input)
{
WebElement usernameField = input.findElement(usernameBy);
usernameField.sendKeys(username);
return input.findElement(usernameBy).getAttribute("value").equals(username);
}
});
WebElement usernameField = getDriver().findElement(usernameBy);
usernameField.sendKeys(username);

return new ManageUserAccountPage(getDriver());
}

Expand Down
Expand Up @@ -20,6 +20,7 @@
*/
package org.zanata.page.utility;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
Expand All @@ -30,12 +31,6 @@
public class HomePage extends BasePage
{

@FindBy(linkText = "Edit Page Content")
private WebElement editPageContent;

@FindBy(linkText = "Edit Page Code")
private WebElement editPageCode;

@FindBy(id = "main_body_content")
private WebElement mainBodyContent;

Expand All @@ -47,14 +42,14 @@ public HomePage(final WebDriver driver)
@Deprecated // home page replace by dashboard
public EditHomeContentPage goToEditPageContent()
{
editPageContent.click();
getDriver().findElement(By.linkText("Edit Page Content")).click();
return new EditHomeContentPage(getDriver());
}

@Deprecated // home page replace by dashboard
public EditHomeCodePage goToEditPageCode()
{
editPageCode.click();
getDriver().findElement(By.linkText("Edit Page Code")).click();
return new EditHomeCodePage(getDriver());
}

Expand Down
Expand Up @@ -46,9 +46,8 @@ public class ChangePasswordTest
public ResetDatabaseRule resetDatabaseRule = new ResetDatabaseRule();

@Before
public void before()
public void setUp()
{
// Remove all cookies, no previous login is allowed
new BasicWorkFlow().goToHome().deleteCookies();
}

Expand Down
Expand Up @@ -21,6 +21,7 @@
package org.zanata.feature.account;

import org.hamcrest.Matchers;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.experimental.categories.Category;
import org.junit.experimental.theories.DataPoint;
Expand Down Expand Up @@ -90,6 +91,12 @@ public class InvalidEmailAddressTest {
// BUG982048 @DataPoint public static InvalidEmailAddressRFC2822 TEST_TRAILING_DASH_DOMAIN = TRAILING_DASH_DOMAIN;
// BUG982048 @DataPoint public static InvalidEmailAddressRFC2822 TEST_MULTIPLE_DASHES_DOMAIN = MULTIPLE_DASHES_DOMAIN;

@Before
public void setUp()
{
new BasicWorkFlow().goToHome().deleteCookies();
}

@Theory
public void invalidEmailRejection(InvalidEmailAddressRFC2822 emailAddress)
{
Expand Down
Expand Up @@ -33,6 +33,7 @@
import org.zanata.util.ResetDatabaseRule;
import org.zanata.util.rfc2822.InvalidEmailAddressRFC2822;
import org.zanata.workflow.BasicWorkFlow;
import org.zanata.workflow.LoginWorkFlow;

import java.util.HashMap;
import java.util.Map;
Expand Down Expand Up @@ -70,6 +71,7 @@ public void before()
new BasicWorkFlow().goToHome().deleteCookies();

homePage = new BasicWorkFlow().goToHome();
homePage.deleteCookies();
}

@Test
Expand Down
Expand Up @@ -21,6 +21,7 @@
package org.zanata.feature.account;

import org.hamcrest.Matchers;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.experimental.categories.Category;
import org.junit.experimental.theories.DataPoint;
Expand Down Expand Up @@ -71,6 +72,12 @@ public class UsernameValidationTest
@DataPoint public static String INVALID_CAPITAL_A = "userAname";
@DataPoint public static String INVALID_CAPITAL_Z = "userZname";

@Before
public void setUp()
{
new BasicWorkFlow().goToHome().deleteCookies();
}

@Theory
public void usernameCharacterValidation(String username)
{
Expand Down
Expand Up @@ -21,6 +21,7 @@
package org.zanata.feature.account;

import org.hamcrest.Matchers;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.experimental.categories.Category;
import org.junit.experimental.theories.DataPoint;
Expand Down Expand Up @@ -66,6 +67,12 @@ public class ValidEmailAddressTest {
// BUG982048 @DataPoint public static ValidEmailAddressRFC2822 TEST_BRACKETED_IPV4_DOMAIN = BRACKETED_IPV4_DOMAIN;
// BUG982048 @DataPoint public static ValidEmailAddressRFC2822 TEST_BRACKETED_IPV6_DOMAIN = BRACKETED_IPV6_DOMAIN;

@Before
public void setUp()
{
new BasicWorkFlow().goToHome().deleteCookies();
}

@Theory
public void validEmailAcceptance(ValidEmailAddressRFC2822 emailAddress)
{
Expand Down
Expand Up @@ -7,23 +7,20 @@
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.annotation.Nullable;

import org.hamcrest.Matchers;
import org.openqa.selenium.support.ui.FluentWait;
import com.google.common.base.Predicate;
import com.google.common.base.Strings;
import com.google.common.io.Files;

import lombok.extern.slf4j.Slf4j;
import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.MatcherAssert.assertThat;

/**
* @author Patrick Huang <a href="mailto:pahuang@redhat.com">pahuang@redhat.com</a>
Expand Down

0 comments on commit 553f957

Please sign in to comment.