75 lines
2.3 KiB
Java
75 lines
2.3 KiB
Java
package ru.kovbasa.tests;
|
|
|
|
import com.google.inject.Inject;
|
|
import org.junit.jupiter.api.extension.ExtendWith;
|
|
import org.junit.jupiter.api.Test;
|
|
import ru.kovbasa.config.GuiceExtension;
|
|
import ru.kovbasa.pages.CatalogPage;
|
|
import ru.kovbasa.pages.CourseItem;
|
|
import ru.kovbasa.pages.CoursePage;
|
|
|
|
import java.time.LocalDate;
|
|
import java.util.List;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
|
|
@ExtendWith(GuiceExtension.class)
|
|
public class CoursesDatesTest {
|
|
|
|
@Inject
|
|
private CatalogPage catalog;
|
|
|
|
@Test
|
|
void earliestCourseHasCorrectTitleAndDate() {
|
|
catalog.open();
|
|
|
|
final List<CourseItem> earliestCourses = catalog.findEarliestCourses();
|
|
|
|
for (CourseItem course : earliestCourses) {
|
|
final CoursePage page = catalog.openCourse(course);
|
|
|
|
final String pageTitle = page.getCourseTitle();
|
|
assertTrue(
|
|
pageTitle.toLowerCase().contains(course.title().toLowerCase()),
|
|
"Earliest course title on page should contain title from catalog: " + course.title()
|
|
);
|
|
|
|
final LocalDate pageDate = page.getCourseStartDate(course.startDate());
|
|
assertEquals(
|
|
course.startDate(),
|
|
pageDate,
|
|
"Earliest course start date should match for course: " + course.title()
|
|
);
|
|
|
|
catalog.open();
|
|
}
|
|
}
|
|
|
|
@Test
|
|
void latestCourseHasCorrectTitleAndDate() {
|
|
catalog.open();
|
|
|
|
final List<CourseItem> latestCourses = catalog.findLatestCourses();
|
|
|
|
for (CourseItem course : latestCourses) {
|
|
final CoursePage page = catalog.openCourse(course);
|
|
|
|
final String pageTitle = page.getCourseTitle();
|
|
assertTrue(
|
|
pageTitle.toLowerCase().contains(course.title().toLowerCase()),
|
|
"Latest course title on page should contain title from catalog: " + course.title()
|
|
);
|
|
|
|
final LocalDate pageDate = page.getCourseStartDate(course.startDate());
|
|
assertEquals(
|
|
course.startDate(),
|
|
pageDate,
|
|
"Latest course start date should match for course: " + course.title()
|
|
);
|
|
|
|
catalog.open();
|
|
}
|
|
}
|
|
}
|