1 package fr.ifremer.dali.dao.data.survey;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import fr.ifremer.dali.dao.DaliDatabaseResource;
27 import fr.ifremer.dali.dto.data.survey.SurveyDTO;
28 import fr.ifremer.dali.service.DaliServiceLocator;
29 import fr.ifremer.quadrige3.core.test.AbstractDaoTest;
30 import org.junit.Before;
31 import org.junit.ClassRule;
32 import org.junit.Test;
33
34 import java.sql.Date;
35 import java.util.Collections;
36 import java.util.List;
37
38 import static org.junit.Assert.*;
39
40 public class SurveyDaoReadTest extends AbstractDaoTest {
41
42 @ClassRule
43 public static final DaliDatabaseResource dbResource = DaliDatabaseResource.readDb();
44
45 private DaliSurveyDao surveyDao;
46
47 @Before
48 @Override
49 public void setUp() throws Exception {
50 super.setUp();
51 surveyDao = DaliServiceLocator.instance().getService("daliSurveyDao", DaliSurveyDao.class);
52 }
53
54 @Test
55 public void getSurvey() {
56
57 List<String> programCodes = Collections.singletonList(dbResource.getFixtures().getProgramCode());
58
59 List<SurveyDTO> surveys = surveyDao.getSurveysByCriteria(null, programCodes, null, null, null, null, null, null, null, true);
60 assertNotNull(surveys);
61 assertTrue(surveys.size() >= 3);
62
63
64 surveys = surveyDao.getSurveysByCriteria(null, programCodes, null, null, null, null, null, Date.valueOf("2014-01-01"), null, true);
65 assertNotNull(surveys);
66 int nbSurveys = surveys.size();
67 for (SurveyDTO survey : surveys) {
68
69 assertNotEquals((Integer) 1, survey.getId());
70 }
71
72
73 surveys = surveyDao.getSurveysByCriteria(null, programCodes, null, null, null, null, null, Date.valueOf("2014-01-01"), null, false);
74 assertNotNull(surveys);
75 assertTrue(nbSurveys < surveys.size());
76 boolean found = false;
77 for (SurveyDTO survey : surveys) {
78
79 if (survey.getId() == 101) {
80 found = true;
81 break;
82 }
83 }
84 assertTrue(found);
85
86
87 surveys = surveyDao.getSurveysByCriteria(null, programCodes, null, null, null, null, null, null, Date.valueOf("2016-01-01"), true);
88 assertNotNull(surveys);
89 nbSurveys = surveys.size();
90 for (SurveyDTO survey : surveys) {
91
92 assertNotEquals((Integer) 103, survey.getId());
93 }
94
95
96 surveys = surveyDao.getSurveysByCriteria(null, programCodes, null, null, null, null, null, null, Date.valueOf("2016-01-01"), false);
97 assertNotNull(surveys);
98 assertTrue(nbSurveys < surveys.size());
99 found = false;
100 for (SurveyDTO survey : surveys) {
101
102 if (survey.getId() == 103) {
103 found = true;
104 break;
105 }
106 }
107 assertTrue(found);
108
109
110 surveys = surveyDao.getSurveysByCriteria(null, programCodes, null, null, null, null, null, Date.valueOf("2014-01-01"), Date.valueOf("2015-01-01"), false);
111 assertNotNull(surveys);
112 assertEquals(2, surveys.size());
113 boolean found1 = false;
114 boolean found2 = false;
115 for (SurveyDTO survey : surveys) {
116 if (survey.getId() == 101) {
117 found1 = true;
118 }
119 if (survey.getId() == 102) {
120 found2 = true;
121 }
122 }
123 assertTrue(found1);
124 assertTrue(found2);
125
126
127 surveys = surveyDao.getSurveysByCriteria(null, programCodes, null, null, null, null, null, Date.valueOf("2015-01-01"), Date.valueOf("2015-01-01"), false);
128 assertNotNull(surveys);
129 assertEquals(1, surveys.size());
130 assertEquals((Integer) 102, surveys.get(0).getId());
131
132
133 surveys = surveyDao.getSurveysByCriteria(null, programCodes, null, null, null, null, null, Date.valueOf("2015-02-01"), Date.valueOf("2015-02-01"), false);
134 assertNotNull(surveys);
135 assertEquals(0, surveys.size());
136
137
138 SurveyDTO surveyDetail = surveyDao.getSurveyById(101, false);
139 assertNotNull(surveyDetail);
140
141 }
142
143 }