175 lines
8.6 KiB
Java
175 lines
8.6 KiB
Java
import com.google.common.collect.ImmutableMap;
|
|
import com.google.common.collect.Iterables;
|
|
import core.PageObject;
|
|
import core.TestTemplate;
|
|
import org.junit.Assert;
|
|
import org.junit.FixMethodOrder;
|
|
import org.junit.Test;
|
|
import org.junit.runner.RunWith;
|
|
import org.junit.runners.MethodSorters;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.boot.test.context.SpringBootTest;
|
|
import org.springframework.test.context.junit4.SpringRunner;
|
|
import project.ProjectDashboard;
|
|
import project.ProjectPage;
|
|
import project.ProjectsPage;
|
|
import ru.ulstu.NgTrackerApplication;
|
|
import ru.ulstu.configuration.ApplicationProperties;
|
|
|
|
import java.util.Arrays;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
@RunWith(SpringRunner.class)
|
|
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
|
@SpringBootTest(classes = NgTrackerApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
|
|
public class ProjectTest extends TestTemplate {
|
|
private final Map<PageObject, List<String>> navigationHolder = ImmutableMap.of(
|
|
new ProjectPage(), Arrays.asList("ПРОЕКТЫ", "/projects/projects"),
|
|
new ProjectsPage(), Arrays.asList("РЕДАКТИРОВАНИЕ ПРОЕКТА", "/projects/project?id=0"),
|
|
new ProjectDashboard(), Arrays.asList("ПРОЕКТЫ", "/projects/dashboard")
|
|
);
|
|
|
|
@Autowired
|
|
private ApplicationProperties applicationProperties;
|
|
|
|
@Test
|
|
public void testACreateNewProject() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 1);
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
ProjectsPage projectsPage = (ProjectsPage) getContext().initPage(page.getKey());
|
|
ProjectPage projectPage = (ProjectPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 0).getKey());
|
|
String name = "Project " + (new Date()).getTime();
|
|
String date = "01.01.2019";
|
|
Integer deadNum = projectPage.getDeadlineCount();
|
|
projectPage.setName(name);
|
|
projectPage.clickAddDeadline();
|
|
projectPage.addDeadlineDate(date, deadNum);
|
|
projectPage.clickSave();
|
|
Assert.assertTrue(projectsPage.checkNameInList(name));
|
|
}
|
|
|
|
@Test
|
|
public void testBChangeNameAndSave() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
ProjectPage projectPage = (ProjectPage) getContext().initPage(page.getKey());
|
|
ProjectsPage projectsPage = (ProjectsPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 1).getKey());
|
|
projectsPage.getFirstProject();
|
|
String name = "Project " + (new Date()).getTime();
|
|
projectPage.clearName();
|
|
projectPage.setName(name);
|
|
projectPage.clickSave();
|
|
Assert.assertTrue(projectsPage.checkNameInList(name));
|
|
}
|
|
|
|
@Test
|
|
public void testCChangeDeadlineAndSave() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
ProjectPage projectPage = (ProjectPage) getContext().initPage(page.getKey());
|
|
ProjectsPage projectsPage = (ProjectsPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 1).getKey());
|
|
projectsPage.getFirstProject();
|
|
String name = projectPage.getName();
|
|
String date = "01.01.2019";
|
|
Integer deadNum = projectPage.getDeadlineCount();
|
|
projectPage.addDeadlineDate(date, deadNum);
|
|
projectPage.clickSave();
|
|
Assert.assertTrue(projectsPage.checkNameInList(name));
|
|
}
|
|
|
|
@Test
|
|
public void testDSetStatusAndSave() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
ProjectPage projectPage = (ProjectPage) getContext().initPage(page.getKey());
|
|
ProjectsPage projectsPage = (ProjectsPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 1).getKey());
|
|
projectsPage.getFirstProject();
|
|
String name = projectPage.getName();
|
|
projectPage.setStatus();
|
|
projectPage.clickSave();
|
|
Assert.assertTrue(projectsPage.checkNameInList(name));
|
|
}
|
|
|
|
@Test
|
|
public void testEAddDescriptionAndSave() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
ProjectPage projectPage = (ProjectPage) getContext().initPage(page.getKey());
|
|
ProjectsPage projectsPage = (ProjectsPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 1).getKey());
|
|
projectsPage.getFirstProject();
|
|
String name = projectPage.getName();
|
|
String description = "Description " + (new Date()).getTime();
|
|
projectPage.addDescription(description);
|
|
projectPage.clickSave();
|
|
Assert.assertTrue(projectsPage.checkNameInList(name));
|
|
}
|
|
|
|
@Test
|
|
public void testFAddLinkAndSave() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
ProjectPage projectPage = (ProjectPage) getContext().initPage(page.getKey());
|
|
ProjectsPage projectsPage = (ProjectsPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 1).getKey());
|
|
projectsPage.getFirstProject();
|
|
String name = projectPage.getName();
|
|
String link = "Link " + (new Date()).getTime();
|
|
projectPage.addLink(link);
|
|
projectPage.clickSave();
|
|
Assert.assertTrue(projectsPage.checkNameInList(name));
|
|
}
|
|
|
|
@Test
|
|
public void testGAddDeadlineDescriptionAndSave() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
ProjectPage projectPage = (ProjectPage) getContext().initPage(page.getKey());
|
|
ProjectsPage projectsPage = (ProjectsPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 1).getKey());
|
|
projectsPage.getFirstProject();
|
|
String name = projectPage.getName();
|
|
String deadDesc = "Description " + (new Date()).getTime();
|
|
projectPage.addDeadlineDescription(deadDesc);
|
|
projectPage.clickSave();
|
|
Assert.assertTrue(projectsPage.checkNameInList(name));
|
|
}
|
|
|
|
@Test
|
|
public void testHSetDeadlineCompletionAndSave() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
ProjectPage projectPage = (ProjectPage) getContext().initPage(page.getKey());
|
|
ProjectsPage projectsPage = (ProjectsPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 1).getKey());
|
|
projectsPage.getFirstProject();
|
|
String name = projectPage.getName();
|
|
projectPage.setDeadlineCompletion();
|
|
projectPage.clickSave();
|
|
Assert.assertTrue(projectsPage.checkNameInList(name));
|
|
}
|
|
|
|
@Test
|
|
public void testIDeleteDeadline() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
ProjectPage projectPage = (ProjectPage) getContext().initPage(page.getKey());
|
|
ProjectsPage projectsPage = (ProjectsPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 1).getKey());
|
|
projectsPage.getFirstProject();
|
|
projectPage.clickDeleteDeadline();
|
|
Assert.assertTrue(projectPage.getDeadlineCount() == 0);
|
|
}
|
|
|
|
@Test
|
|
public void testJDeleteProject() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
ProjectPage projectPage = (ProjectPage) getContext().initPage(page.getKey());
|
|
ProjectsPage projectsPage = (ProjectsPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 1).getKey());
|
|
projectsPage.getFirstProject();
|
|
String name = projectPage.getName();
|
|
projectPage.clickSave();
|
|
projectsPage.deleteFirst();
|
|
projectsPage.clickConfirm();
|
|
Assert.assertFalse(projectsPage.checkNameInList(name));
|
|
}
|
|
}
|