/**
* Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved.
* EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* http://www.ewcms.com
*/
package com.ewcms.plugin.vote.service;
import static org.junit.Assert.*;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import org.junit.Before;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
import com.ewcms.plugin.vote.manager.dao.PersonDAO;
import com.ewcms.plugin.vote.manager.dao.QuestionnaireDAO;
import com.ewcms.plugin.vote.manager.service.QuestionnaireService;
import com.ewcms.plugin.vote.model.Questionnaire;
/**
*
* @author wu_zhijun
*
*/
public class QuestionnaireServiceTest {
private QuestionnaireService questionnaireService;
private QuestionnaireDAO questionnaireDAO;
private PersonDAO personDAO;
@Before
public void setUp() {
questionnaireService = new QuestionnaireService();
questionnaireDAO = mock(QuestionnaireDAO.class);
personDAO = mock(PersonDAO.class);
questionnaireService.setQuestionnaireDAO(questionnaireDAO);
questionnaireService.setPersonDAO(personDAO);
}
@Test
public void addQuestionnaire(){
Questionnaire questionnaire = new Questionnaire();
questionnaire.setId(1L);
questionnaire.setChannelId(1);
when(questionnaireDAO.findQuestionnaireMaxSort(questionnaire.getChannelId())).thenReturn(0L);
questionnaireService.addQuestionnaire(questionnaire);
ArgumentCaptor<Questionnaire> argument = ArgumentCaptor.forClass(Questionnaire.class);
verify(questionnaireDAO).persist(argument.capture());
assertNotNull(questionnaire.getStartTime());
assertEquals(questionnaire.getSort().longValue(), 1L);
assertEquals(questionnaire.getNumber().longValue(), 0L);
assertFalse(questionnaire.getVerifiCode());
assertFalse(questionnaire.getVoteEnd());
assertEquals(questionnaire.getStatus(), Questionnaire.Status.VIEW);
}
}