]> git.somenet.org - pub/jan/dst18.git/blob - ass1-jpa/src/test/java/dst/ass1/jpa/tests/Ass1_1_1_08Test.java
Add template for assignment 1
[pub/jan/dst18.git] / ass1-jpa / src / test / java / dst / ass1 / jpa / tests / Ass1_1_1_08Test.java
1 package dst.ass1.jpa.tests;
2
3 import static org.hamcrest.CoreMatchers.hasItem;
4 import static org.junit.Assert.assertEquals;
5 import static org.junit.Assert.assertNotNull;
6 import static org.junit.Assert.assertThat;
7
8 import java.util.List;
9
10 import org.junit.Test;
11
12 import dst.ass1.jpa.model.CourseStatus;
13 import dst.ass1.jpa.model.ICourse;
14 import dst.ass1.jpa.model.ILecturer;
15
16 /**
17  * Tests the 1-N association between ICourse and ILecturer (its organizer).
18  */
19 public class Ass1_1_1_08Test extends Ass1_TestBase {
20
21     @Test
22     public void testCourseLecturerAssociation() {
23
24         ILecturer lecturer1 = daoFactory.createLecturerDAO().findById(testData.lecturer1Id);
25         assertNotNull(lecturer1);
26         assertNotNull(lecturer1.getCourses());
27
28         List<Long> courseIds = map(lecturer1.getCourses(), ICourse::getId);
29
30         assertEquals(1, courseIds.size());
31         assertThat(courseIds, hasItem(testData.course1Id));
32
33         ICourse course1 = daoFactory.createCourseDAO().findById(testData.course1Id);
34         ICourse course2 = daoFactory.createCourseDAO().findById(testData.course2Id);
35
36         assertNotNull(course1);
37         assertNotNull(course2);
38
39         assertEquals(testData.lecturer1Id, course1.getLecturer().getId());
40         assertEquals(testData.lecturer2Id, course2.getLecturer().getId());
41     }
42
43     @Test
44     public void testCourseStatus() {
45         ICourse course1 = daoFactory.createCourseDAO().findById(testData.course1Id);
46         assertEquals(CourseStatus.CREATED, course1.getStatus());
47         ICourse course2 = daoFactory.createCourseDAO().findById(testData.course2Id);
48         assertEquals(CourseStatus.ONGOING, course2.getStatus());
49     }
50
51 }