package net.sourceforge.cruisecontrol.dashboard.seleniumtests;
public class NoDeadLinkTest extends SeleniumTestCase {
public void testShouldNotDisplay404WhenClickTheLink() throws Exception {
clickTabs();
clickBuildProfile();
clickBuildBar();
clickAllBuilds();
clickAllPassedBuilds();
}
private void clickBuildProfile() throws Exception {
openBuildsPage();
shouldNOTBeHttp4xx("project1_build_detail");
openBuildsPage();
shouldNOTBeHttp4xx("project1_all_successful_builds");
openBuildsPage();
shouldNOTBeHttp4xx("project1_all_builds");
}
private void clickAllBuilds() throws Exception {
openBuildsPage();
shouldNOTBeHttp4xx("project1_all_builds");
}
private void clickAllPassedBuilds() throws Exception {
openBuildsPage();
shouldNOTBeHttp4xx("project1_all_successful_builds");
}
private void clickBuildBar() throws Exception {
openDashboardPage();
shouldNOTBeHttp4xx("//a[@id='project2_bar_link']");
}
private void clickTabs() throws Exception {
openBuildsPage();
clickAndWait("//li[@id='administation']/a");
clickAndWait("//li[@id='builds']/a");
clickAndWait("//li[@id='administation']/a");
clickAndWait("//li[@id='dashboard']/a");
}
private void shouldNOTBeHttp4xx(String link) throws Exception {
clickAndWait(link);
textShouldNOTPresent("ERROR: 4");
}
}