package com.metservice.kanban.jwebunit;
import static com.metservice.kanban.tests.util.TestUtils.createTestProject;
import static org.apache.commons.io.FileUtils.deleteDirectory;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.io.File;
import java.io.IOException;
import net.sourceforge.jwebunit.junit.WebTester;
import org.junit.rules.TemporaryFolder;
public class AdminPage {
protected final WebTester tester;
public static AdminPage openProject(TemporaryFolder kanbanHome, String projectName, String sourceResourcePath) throws IOException {
File root = kanbanHome.getRoot();
cleanProject(kanbanHome);
createTestProject(root, projectName, sourceResourcePath);
return createBoardPage(projectName);
}
public static AdminPage createBoardPage(String projectName){
WebTester tester = new WebTester();
tester.beginAt("http://localhost:8008/kanban");
tester.clickLinkWithExactText(projectName);
return new AdminPage(tester);
}
public static void cleanProject(TemporaryFolder kanbanHome) throws IOException {
File root = kanbanHome.getRoot();
deleteDirectory(root);
root.mkdir();
}
public AdminPage(WebTester tester) {
this.tester = tester;
}
public ProjectPropertiesPage clickEditProject() {
tester.clickLinkWithExactText("Edit Project");
return new ProjectPropertiesPage(tester);
}
}