215 lines
8.2 KiB
Java
215 lines
8.2 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 ru.ulstu.NgTrackerApplication;
|
|
import ru.ulstu.configuration.ApplicationProperties;
|
|
import students.TaskPage;
|
|
import students.TasksDashboardPage;
|
|
import students.TasksPage;
|
|
|
|
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 StudentTaskTest extends TestTemplate {
|
|
private final Map<PageObject, List<String>> navigationHolder = ImmutableMap.of(
|
|
new TasksPage(), Arrays.asList("Список задач", "/students/tasks"),
|
|
new TasksDashboardPage(), Arrays.asList("Панель управления", "/students/dashboard"),
|
|
new TaskPage(), Arrays.asList("Создать задачу", "/students/task?id=0")
|
|
);
|
|
|
|
private final String tag = "ATag";
|
|
|
|
@Autowired
|
|
private ApplicationProperties applicationProperties;
|
|
|
|
|
|
@Test
|
|
public void testACreateTask() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 2);
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
|
|
TaskPage taskPage = (TaskPage) getContext().initPage(page.getKey());
|
|
TasksPage tasksPage = (TasksPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 0).getKey());
|
|
String taskName = "Task " + (new Date()).getTime();
|
|
|
|
taskPage.setName(taskName);
|
|
taskPage.addDeadlineDate("01.01.2020", 0);
|
|
taskPage.addDeadlineDescription("Description", 0);
|
|
taskPage.save();
|
|
|
|
Assert.assertTrue(tasksPage.findTask(taskName));
|
|
}
|
|
|
|
@Test
|
|
public void testBEditTaskName() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
TasksPage tasksPage = (TasksPage) getContext().initPage(page.getKey());
|
|
TaskPage taskPage = (TaskPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 2).getKey());
|
|
String taskNewName = "Task " + (new Date()).getTime();
|
|
|
|
tasksPage.goToFirstTask();
|
|
taskPage.removeName();
|
|
taskPage.setName(taskNewName);
|
|
taskPage.save();
|
|
|
|
Assert.assertTrue(tasksPage.findTask(taskNewName));
|
|
}
|
|
|
|
@Test
|
|
public void testCDeleteTask() throws InterruptedException {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
TasksPage tasksPage = (TasksPage) getContext().initPage(page.getKey());
|
|
|
|
Integer size = tasksPage.getTasks().size();
|
|
tasksPage.deleteFirstTask();
|
|
Thread.sleep(3000);
|
|
tasksPage.submit();
|
|
|
|
Assert.assertEquals(size - 1, tasksPage.getTasks().size());
|
|
}
|
|
|
|
@Test
|
|
public void testDAddDeadline() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
TasksPage tasksPage = (TasksPage) getContext().initPage(page.getKey());
|
|
TaskPage taskPage = (TaskPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 2).getKey());
|
|
|
|
tasksPage.goToFirstTask();
|
|
String taskId = taskPage.getId();
|
|
Integer deadnum = taskPage.getDeadNum();
|
|
|
|
String descr = "Description";
|
|
String date = "06.06.2019";
|
|
String dateValue = "2019-06-06";
|
|
|
|
taskPage.clickAddDeadline();
|
|
taskPage.addDeadlineDescription(descr, deadnum);
|
|
taskPage.addDeadlineDate(date, deadnum);
|
|
taskPage.save();
|
|
|
|
getContext().goTo(applicationProperties.getBaseUrl() + String.format("/students/task?id=%s", taskId));
|
|
|
|
Assert.assertTrue(taskPage.hasDeadline(descr, dateValue));
|
|
}
|
|
|
|
@Test
|
|
public void testEEditDeadline() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
TasksPage tasksPage = (TasksPage) getContext().initPage(page.getKey());
|
|
TaskPage taskPage = (TaskPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 2).getKey());
|
|
|
|
tasksPage.goToFirstTask();
|
|
String taskId = taskPage.getId();
|
|
|
|
String descr = "DescriptionTwo";
|
|
String date = "12.12.2019";
|
|
String dateValue = "2019-12-12";
|
|
|
|
taskPage.clearDeadlineDate(0);
|
|
taskPage.clearDeadlineDescription(0);
|
|
taskPage.addDeadlineDescription(descr, 0);
|
|
taskPage.addDeadlineDate(date, 0);
|
|
taskPage.save();
|
|
|
|
getContext().goTo(applicationProperties.getBaseUrl() + String.format("/students/task?id=%s", taskId));
|
|
|
|
Assert.assertTrue(taskPage.hasDeadline(descr, dateValue));
|
|
}
|
|
|
|
@Test
|
|
public void testFDeleteDeadline() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
TasksPage tasksPage = (TasksPage) getContext().initPage(page.getKey());
|
|
TaskPage taskPage = (TaskPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 2).getKey());
|
|
|
|
tasksPage.goToFirstTask();
|
|
String taskId = taskPage.getId();
|
|
Integer deadNum = taskPage.getDeadNum();
|
|
|
|
taskPage.deleteDeadline();
|
|
taskPage.save();
|
|
|
|
getContext().goTo(applicationProperties.getBaseUrl() + String.format("/students/task?id=%s", taskId));
|
|
|
|
Assert.assertEquals(deadNum - 1, (int) taskPage.getDeadNum());
|
|
}
|
|
|
|
@Test
|
|
public void testGCreateTaskWithTag() throws InterruptedException {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 2);
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
|
|
TaskPage taskPage = (TaskPage) getContext().initPage(page.getKey());
|
|
TasksPage tasksPage = (TasksPage) getContext().initPage(Iterables.get(navigationHolder.entrySet(), 0).getKey());
|
|
String taskName = "Task " + (new Date()).getTime();
|
|
|
|
taskPage.setName(taskName);
|
|
taskPage.setTag(tag);
|
|
Thread.sleep(1000);
|
|
taskPage.addDeadlineDate("01.01.2020", 0);
|
|
taskPage.addDeadlineDescription("Description", 0);
|
|
taskPage.save();
|
|
|
|
Assert.assertTrue(tasksPage.findTaskByTag(taskName, tag));
|
|
}
|
|
|
|
@Test
|
|
public void testHFindTagInFilter() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
TasksPage tasksPage = (TasksPage) getContext().initPage(page.getKey());
|
|
|
|
|
|
Assert.assertTrue(tasksPage.findTag(tag));
|
|
}
|
|
|
|
@Test
|
|
public void testIFilterByTag() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
TasksPage tasksPage = (TasksPage) getContext().initPage(page.getKey());
|
|
tasksPage.selectTag(tag);
|
|
|
|
Assert.assertTrue(tasksPage.findTasksByTag(tag));
|
|
}
|
|
|
|
@Test
|
|
public void testJFilterByStatus() {
|
|
Map.Entry<PageObject, List<String>> page = Iterables.get(navigationHolder.entrySet(), 0);
|
|
|
|
getContext().goTo(applicationProperties.getBaseUrl() + page.getValue().get(1));
|
|
TasksPage tasksPage = (TasksPage) getContext().initPage(page.getKey());
|
|
|
|
tasksPage.selectStatus();
|
|
Assert.assertTrue(tasksPage.findAllStatus());
|
|
}
|
|
|
|
|
|
}
|