]> git.somenet.org - pub/jan/dst18.git/blob - ass1-jpa/src/test/java/dst/ass1/jpa/tests/Ass1_2_3a_02Test.java
Add template for assignment 1
[pub/jan/dst18.git] / ass1-jpa / src / test / java / dst / ass1 / jpa / tests / Ass1_2_3a_02Test.java
1 package dst.ass1.jpa.tests;
2
3 import static org.hamcrest.CoreMatchers.hasItems;
4 import static org.junit.Assert.assertNotNull;
5 import static org.junit.Assert.assertThat;
6
7 import java.util.Collection;
8
9 import javax.persistence.EntityTransaction;
10
11 import org.junit.Before;
12 import org.junit.Test;
13
14 import dst.ass1.jpa.dao.ICourseDAO;
15 import dst.ass1.jpa.dao.ILessonDAO;
16 import dst.ass1.jpa.dao.IMaterialServerDAO;
17 import dst.ass1.jpa.model.ICourse;
18 import dst.ass1.jpa.model.ILesson;
19 import dst.ass1.jpa.model.IMaterialServer;
20
21 public class Ass1_2_3a_02Test extends Ass1_TestBase {
22
23     private ILessonDAO lessonDAO;
24     private ICourseDAO courseDAO;
25     private IMaterialServerDAO materialServerDAO;
26
27     @Before
28     public void setUpDatabase() throws Exception {
29         lessonDAO = daoFactory.createLessonDAO();
30         courseDAO = daoFactory.createCourseDAO();
31         materialServerDAO = daoFactory.createMaterialServerDAO();
32
33         ILesson lesson1 = lessonDAO.findById(testData.lesson1Id);
34         ILesson lesson2 = lessonDAO.findById(testData.lesson2Id);
35         ICourse course2 = courseDAO.findById(testData.course2Id);
36
37         EntityTransaction tx = em.getTransaction();
38         tx.begin();
39         lesson1.setCourse(course2);
40         lesson2.setCourse(course2);
41         em.persist(lesson1);
42         em.persist(lesson2);
43         em.flush();
44         tx.commit();
45     }
46
47     @Test
48     public void testMaterialServersForCourse() {
49         ICourse course = courseDAO.findById(testData.course1Id);
50         Collection<IMaterialServer> materialServers = materialServerDAO.findMaterialServersForCourse(course);
51         assertNotNull(materialServers);
52
53         assertThat(map(materialServers, e -> e.getId()), hasItems(
54                 testData.materialServer2Id,
55                 testData.materialServer3Id
56         ));
57     }
58
59     @Test
60     public void testMaterialServersForCourse2() {
61         ICourse course = courseDAO.findById(testData.course2Id);
62         Collection<IMaterialServer> materialServers = materialServerDAO.findMaterialServersForCourse(course);
63         assertNotNull(materialServers);
64
65         assertThat(map(materialServers, e -> e.getId()), hasItems(
66                 testData.materialServer1Id
67         ));
68     }
69 }