View Javadoc
1   package fr.ifremer.dali.dao.data.survey;
2   
3   import fr.ifremer.dali.dao.DaliDatabaseResource;
4   import fr.ifremer.dali.dao.administration.user.DaliQuserDao;
5   import fr.ifremer.dali.dto.DaliBeanFactory;
6   import fr.ifremer.dali.dto.data.survey.CampaignDTO;
7   import fr.ifremer.dali.dto.referential.PersonDTO;
8   import fr.ifremer.dali.service.DaliServiceLocator;
9   import fr.ifremer.quadrige3.core.dao.technical.Dates;
10  import fr.ifremer.quadrige3.core.test.AbstractDaoTest;
11  import org.apache.commons.logging.Log;
12  import org.apache.commons.logging.LogFactory;
13  import org.junit.Assert;
14  import org.junit.Before;
15  import org.junit.ClassRule;
16  import org.junit.Test;
17  
18  import java.util.Date;
19  import java.util.List;
20  
21  public class CampaignDaoWriteTest extends AbstractDaoTest {
22  
23      private static final Log log = LogFactory.getLog(CampaignDaoWriteTest.class);
24  
25      @ClassRule
26      public static final DaliDatabaseResource dbResource = DaliDatabaseResource.writeDb();
27  
28      private DaliCampaignDao campaignDao;
29      private DaliQuserDao quserDao;
30  
31      @Before
32      @Override
33      public void setUp() throws Exception {
34          super.setUp();
35          campaignDao = DaliServiceLocator.instance().getService("daliCampaignDao", DaliCampaignDao.class);
36          quserDao = DaliServiceLocator.instance().getService("daliQuserDao", DaliQuserDao.class);
37      }
38  
39      @Test
40      public void saveCampaign() {
41          CampaignDTO campaign = DaliBeanFactory.newCampaignDTO();
42          String testName = "campaign test";
43          campaign.setName(testName);
44          Date testDate = Dates.safeParseDate("01/01/2019", "dd/MM/yyyy");
45          campaign.setStartDate(testDate);
46          PersonDTO testUser = quserDao.getUserById(dbResource.getFixtures().getUserIdWithDataForSynchro());
47          campaign.setManager(testUser);
48          campaign.setDirty(true);
49  
50          campaignDao.saveCampaign(campaign);
51          Assert.assertNotNull(campaign.getId());
52  
53          List<CampaignDTO> campaigns = campaignDao.getCampaignsByName(testName);
54          Assert.assertNotNull(campaigns);
55          Assert.assertEquals(1, campaigns.size());
56          campaign = campaigns.get(0);
57  
58          Assert.assertEquals(testName, campaign.getName());
59          Assert.assertEquals(testDate, campaign.getStartDate());
60          Assert.assertNull(campaign.getEndDate());
61          Assert.assertNotNull(campaign.getManager());
62          Assert.assertEquals(dbResource.getFixtures().getUserIdWithDataForSynchro(), campaign.getManager().getId().intValue());
63          Assert.assertNotNull(campaign.getRecorderDepartment());
64          Assert.assertEquals(2, campaign.getRecorderDepartment().getId().intValue());
65  
66      }
67  
68  }