package com.metservice.kanban.webdriver; import static com.metservice.kanban.tests.util.TestUtils.createTestProject; import static com.metservice.kanban.webdriver.BoardPage.openProject; import static org.apache.commons.io.FileUtils.deleteDirectory; import java.io.File; import java.io.IOException; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.webapp.WebAppContext; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; import org.junit.rules.TemporaryFolder; @Ignore public class EndToEndTest { private static Server server; private static TemporaryFolder kanbanHome = new TemporaryFolder(); @BeforeClass public static void beforeClass() throws Exception { kanbanHome.create(); System.setProperty("KANBAN_HOME", kanbanHome.getRoot().getAbsolutePath()); server = new Server(8008); server.setHandler(new WebAppContext("src/main/webapp", "/kanban")); server.start(); } @AfterClass public static void afterClass() throws Exception { server.stop(); kanbanHome.delete(); } @Before public void cleanProject() throws IOException { File root = kanbanHome.getRoot(); deleteDirectory(root); root.mkdir(); createTestProject(root, "Test project", "/end-to-end-test/"); } @Test public void userCanDeleteAWorkItem() { BoardPage page = openProject("Test project"); page.clickBacklogButton(); page.clickAddFeatureButton().enterName("feature name").clickSaveButton(); page.clickEditFeatureButton("feature name").clickDeleteButtonAndConfirm(); page.assertFeatureNotPresent("feature name"); } }