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 }