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

Commit

Permalink
Merge branch 'release' into integration/master
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Eng committed Sep 3, 2013
2 parents fb096bb + ee535a6 commit 7deb39f
Show file tree
Hide file tree
Showing 6 changed files with 113 additions and 5 deletions.
Expand Up @@ -2,16 +2,21 @@

import com.google.common.base.Function;
import com.google.common.base.Predicate;

import lombok.extern.slf4j.Slf4j;

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.BasePage;
import org.zanata.page.projects.ProjectPage;
import org.zanata.page.projects.ProjectVersionPage;
import org.zanata.util.TableRow;
import org.zanata.util.WebElementUtil;

import javax.annotation.Nullable;

import java.util.List;

/**
Expand All @@ -28,6 +33,7 @@ public class VersionGroupPage extends BasePage

@FindBy(id = "iterationGroupForm:iterationsDataTable")
private WebElement groupDataTable;

private By versionsInGroupTableBy = By.id("iterationGroupForm:iterationsDataTable");

public VersionGroupPage(final WebDriver driver)
Expand Down Expand Up @@ -122,4 +128,35 @@ public List<List<String>> getProjectVersionsInGroup()
{
return WebElementUtil.getTwoDimensionList(getDriver(), versionsInGroupTableBy);
}

public String getProjectName(int row)
{
List<TableRow> tableRows = WebElementUtil.getTableRows(getDriver(), versionsInGroupTableBy);
WebElement projectLink = tableRows.get(row).getCells().get(0).findElement(By.tagName("a"));
return projectLink.getText();
}

public String getProjectVersionName(int row)
{
List<TableRow> tableRows = WebElementUtil.getTableRows(getDriver(), versionsInGroupTableBy);
WebElement versionLink = tableRows.get(row).getCells().get(1).findElement(By.tagName("a"));
return versionLink.getText();
}


public ProjectPage clickOnProjectLinkOnRow(int row)
{
List<TableRow> tableRows = WebElementUtil.getTableRows(getDriver(), versionsInGroupTableBy);
WebElement projectLink = tableRows.get(row).getCells().get(0).findElement(By.tagName("a"));
projectLink.click();
return new ProjectPage(getDriver());
}

public ProjectVersionPage clickOnProjectVersionLinkOnRow(int row)
{
List<TableRow> tableRows = WebElementUtil.getTableRows(getDriver(), versionsInGroupTableBy);
WebElement versionLink = tableRows.get(row).getCells().get(1).findElement(By.tagName("a"));
versionLink.click();
return new ProjectVersionPage(getDriver());
}
}
Expand Up @@ -58,7 +58,6 @@ public String getProjectId()
return getLastBreadCrumbText();
}

@SuppressWarnings("unused")
public String getProjectName()
{
return getTitle().replaceAll("Zanata:", "");
Expand Down
Expand Up @@ -23,7 +23,9 @@
import com.google.common.base.Function;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;

import lombok.extern.slf4j.Slf4j;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
Expand All @@ -44,6 +46,11 @@ public ProjectVersionPage(final WebDriver driver)
super(driver);
}

public String getVersionId()
{
return getLastBreadCrumbText();
}

@SuppressWarnings("unused")
public List<String> getTranslatableLocales()
{
Expand Down
Expand Up @@ -32,14 +32,19 @@
import org.junit.ClassRule;
import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.zanata.concordion.CustomResourceExtension;
import org.zanata.feature.ConcordionTest;
import org.zanata.page.groups.CreateVersionGroupPage;
import org.zanata.page.groups.VersionGroupPage;
import org.zanata.page.groups.VersionGroupsPage;
import org.zanata.page.projects.ProjectPage;
import org.zanata.page.projects.ProjectVersionPage;
import org.zanata.page.utility.DashboardPage;
import org.zanata.util.ResetDatabaseRule;
import org.zanata.util.TableRow;
import org.zanata.util.WebElementUtil;
import org.zanata.workflow.LoginWorkFlow;
import org.zanata.workflow.ProjectWorkFlow;

Expand Down Expand Up @@ -137,4 +142,39 @@ public void clickGroupName(VersionGroupsPage groupsPage, String groupName)
{
versionGroupPage = groupsPage.goToGroup(groupName);
}

public ProjectPage clickProjectLinkOnRow(int row)
{
return versionGroupPage.clickOnProjectLinkOnRow(row);
}

public ProjectVersionPage clickVersionLinkOnRow(int row)
{
return versionGroupPage.clickOnProjectVersionLinkOnRow(row);
}

public String getProjectName(int row)
{
return versionGroupPage.getProjectName(row);
}

public String getProjectVersionName(int row)
{
return versionGroupPage.getProjectVersionName(row);
}

public String getProjectNameFromPage(ProjectPage projectPage)
{
return projectPage.getProjectName();
}

public boolean checkIfEquals(ProjectPage projectPage, String projectName)
{
return projectPage.getProjectName().trim().equals(projectName.trim());
}

public boolean checkIfEquals(ProjectVersionPage versionPage, String versionId)
{
return versionPage.getVersionId().trim().equals(versionId.trim());
}
}
Expand Up @@ -140,5 +140,29 @@ <h2>Associating a Group with a Project</h2>
</table>
<span ext:screenshot="" />
</p>

<p>
Check on project url in version group:
<ol>
<li>Click <span c:execute="#groupsPage = groups()">Groups</span></li>
<li>Click on <span c:execute="clickGroupName(#groupsPage, #groupName)"><span c:set="#groupName">group one</span></span></li>
<li>Navigate to project link on row <span c:set="#row">0</span> with project name <span c:execute="#projectName = getProjectName(#row)"><span c:echo="#projectName"></span></span></li>
<li>Click on project link <span c:execute="#projectPage = clickProjectLinkOnRow(#row)"></span></li>
<li>I should be redirect to project page <span c:assertTrue="checkIfEquals(#projectPage, #projectName)"><span c:echo="#projectName"></span></span></li>
</ol>
<span ext:screenshot="" />
</p>

<p>
Check on version url in version group:
<ol>
<li>Click <span c:execute="#groupsPage = groups()">Groups</span></li>
<li>Click on <span c:execute="clickGroupName(#groupsPage, #groupName)"><span c:set="#groupName">group one</span></span></li>
<li>Navigate to version link on row <span c:set="#row">0</span> with version name <span c:execute="#versionId = getProjectVersionName(#row)"><span c:echo="#versionId"></span></span></li>
<li>Click on version link <span c:execute="#versionPage = clickVersionLinkOnRow(#row)"></span></li>
<li>I should be redirect to project version page <span c:assertTrue="checkIfEquals(#versionPage, #versionId)"><span c:echo="#versionId"></span></span></li>
</ol>
<span ext:screenshot="" />
</p>
</body>
</html>
9 changes: 5 additions & 4 deletions zanata-war/src/main/webapp/version-group/version_group.xhtml
Expand Up @@ -36,14 +36,15 @@
var="_iteration">
<rich:column sortBy="#{_iteration.project.slug}">
<f:facet name="header">#{messages['jsf.ProjectName']}</f:facet>
<s:link view="/project/view/#{_iteration.project.slug}" styleClass="table_link">
#{_iteration.project.name}
<s:link view="/project/project.xhtml" value="#{_iteration.project.name}" styleClass="table_link">
<f:param name="slug" value="#{_iteration.project.slug}"/>
</s:link>
</rich:column>
<rich:column sortBy="#{_iteration.slug}">
<f:facet name="header">#{messages['jsf.Version']}</f:facet>
<s:link view="/iteration/view/#{_iteration.project.slug}/#{_iteration.slug}" styleClass="table_link">
#{_iteration.slug}
<s:link view="/iteration/view.xhtml" styleClass="table_link" value="#{_iteration.slug}">
<f:param name="projectSlug" value="#{_iteration.project.slug}"/>
<f:param name="iterationSlug" value="#{_iteration.slug}"/>
</s:link>
</rich:column>
<rich:column rendered="#{s:hasPermission(versionGroupHome.instance, 'update')}" styleClass="centered">
Expand Down

0 comments on commit 7deb39f

Please sign in to comment.