package net.sourceforge.cruisecontrol.dashboard.seleniumtests;
import org.apache.commons.lang.StringUtils;
public class LatestBuildTest extends SeleniumTestCase {
private static final String PAGE_LOAD_WAIT_DURATION = "" + (8 * AJAX_DURATION * 1000);
protected void doSetUp() throws Exception {
willChangeConfigFile();
}
public void testShouldBeAbleToOpenDashboardPage() throws Exception {
openDashboardPage();
assertEquals("CruiseControl - Dashboard", this.user.getTitle());
textShouldPresent(" project build(s) succeed");
}
public void testShouldBeAbleToBuildsPage() throws Exception {
openBuildsPage();
assertEquals("CruiseControl - Builds", this.user.getTitle());
textShouldPresent(" project build(s) succeed");
}
public void testShouldDisplayDashboardAsPaused() throws Exception {
openDashboardPage();
this.hasClassName("tooltip_paused", "paused");
}
public void testShouldDisplayBuildsAsPaused() throws Exception {
openBuildsPage();
this.hasClassName("paused_profile", "paused");
}
public void testShouldNavigateToBuildDetailPageWhenClickTheBar() throws Exception {
openDashboardPage();
assertTrue(this.user.isElementPresent("project1_bar_link"));
this.clickAndWait("project1_bar_link");
assertTrue(StringUtils.contains(user.getTitle(), "Project project1 - Build"));
}
public void testShouldReloadPageWhenNewProjectAddedToConfigFile() throws Exception {
openDashboardPage();
elementShouldNotBePresent("missing_project_container");
addProjectToConfigFile("missing");
user.waitForPageToLoad(PAGE_LOAD_WAIT_DURATION);
elementShouldPresent("missing_project_container");
}
}