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
27 import com.google.common.collect.ImmutableList;
28 import fr.ifremer.quadrige3.core.dao.technical.Dates;
29 import fr.ifremer.quadrige3.core.test.AbstractDaoTest;
30 import fr.ifremer.dali.dao.DaliDatabaseResource;
31 import fr.ifremer.dali.dto.data.survey.CampaignDTO;
32 import fr.ifremer.dali.dto.data.survey.OccasionDTO;
33 import fr.ifremer.dali.service.DaliServiceLocator;
34 import org.apache.commons.lang3.builder.ToStringBuilder;
35 import org.apache.commons.lang3.builder.ToStringStyle;
36 import org.apache.commons.logging.Log;
37 import org.apache.commons.logging.LogFactory;
38 import org.junit.Assert;
39 import org.junit.Before;
40 import org.junit.ClassRule;
41 import org.junit.Test;
42
43 import java.util.Date;
44 import java.util.List;
45
46 import static org.junit.Assert.assertEquals;
47 import static org.junit.Assert.assertNotNull;
48
49 public class CampaignDaoReadTest extends AbstractDaoTest {
50
51 private static final Log log = LogFactory.getLog(CampaignDaoReadTest.class);
52
53 @ClassRule
54 public static final DaliDatabaseResource dbResource = DaliDatabaseResource.readDb();
55
56 private DaliCampaignDao campaignDao;
57
58 @Before
59 @Override
60 public void setUp() throws Exception {
61 super.setUp();
62 campaignDao = DaliServiceLocator.instance().getService("daliCampaignDao", DaliCampaignDao.class);
63 }
64
65 @Test
66 public void getAllCampaign() {
67 List<CampaignDTO> campaigns = campaignDao.getAllCampaigns();
68 assertNotNull(campaigns);
69 assertEquals(8, campaigns.size());
70 if (log.isDebugEnabled()) {
71 for (CampaignDTO dto: campaigns) {
72 log.debug(ToStringBuilder.reflectionToString(dto, ToStringStyle.SHORT_PREFIX_STYLE));
73 }
74 }
75 }
76
77 @Test
78 public void getCampaignsByIds() {
79 List<CampaignDTO> campaigns = campaignDao.getCampaignsByIds(ImmutableList.of(1));
80 Assert.assertNotNull(campaigns);
81 Assert.assertEquals(1, campaigns.size());
82 Assert.assertEquals(1, campaigns.get(0).getId().intValue());
83
84 campaigns = campaignDao.getCampaignsByIds(ImmutableList.of(2,3,4));
85 Assert.assertNotNull(campaigns);
86 Assert.assertEquals(3, campaigns.size());
87 Assert.assertEquals(2, campaigns.get(0).getId().intValue());
88 Assert.assertEquals(3, campaigns.get(1).getId().intValue());
89 Assert.assertEquals(4, campaigns.get(2).getId().intValue());
90 }
91
92 @Test
93 public void getCampaignsByName() {
94 List<CampaignDTO> campaigns = campaignDao.getCampaignsByName("RNO-DUNKERQUE");
95 Assert.assertNotNull(campaigns);
96 Assert.assertEquals(1, campaigns.size());
97 Assert.assertEquals(4, campaigns.get(0).getId().intValue());
98 }
99
100 @Test
101 public void getCampaignsByCriteria() {
102 List<CampaignDTO> campaigns = campaignDao.getCampaignsByCriteria("GCRMN-RNMRUN", null, null, false, null, null, false, true);
103 Assert.assertNotNull(campaigns);
104 Assert.assertEquals(3, campaigns.size());
105 Assert.assertEquals(6, campaigns.get(0).getId().intValue());
106 Assert.assertEquals(7, campaigns.get(1).getId().intValue());
107 Assert.assertEquals(8, campaigns.get(2).getId().intValue());
108
109 Date testDate = Dates.safeParseDate("01/01/2005", "dd/MM/yyyy");
110 campaigns = campaignDao.getCampaignsByCriteria(null, testDate, testDate, true,
111 null, null, false, true);
112 Assert.assertNotNull(campaigns);
113 Assert.assertEquals(1, campaigns.size());
114 Assert.assertEquals(3, campaigns.get(0).getId().intValue());
115
116 campaigns = campaignDao.getCampaignsByCriteria(null,
117 Dates.safeParseDate("01/01/2012", "dd/MM/yyyy"), Dates.safeParseDate("02/03/2012", "dd/MM/yyyy"), false,
118 Dates.safeParseDate("01/05/2015", "dd/MM/yyyy"), Dates.safeParseDate("01/06/2015", "dd/MM/yyyy"), false,
119 false);
120 Assert.assertNotNull(campaigns);
121 Assert.assertEquals(1, campaigns.size());
122 Assert.assertEquals(7, campaigns.get(0).getId().intValue());
123
124 }
125
126 @Test
127 public void getOccasion() {
128
129 List<OccasionDTO> occasions = campaignDao.getAllOccasions();
130 assertNotNull(occasions);
131
132
133 if (log.isDebugEnabled()) {
134 for (OccasionDTO dto: occasions) {
135 log.debug(ToStringBuilder.reflectionToString(dto, ToStringStyle.SHORT_PREFIX_STYLE));
136 }
137 }
138
139
140 }
141
142
143 }