/* * Copyright (C) 2003-2012 eXo Platform SAS. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Affero General Public License * as published by the Free Software Foundation; either version 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see<http://www.gnu.org/licenses/>. */ package org.exoplatform.poll.service; import java.util.ArrayList; import java.util.List; import org.exoplatform.poll.base.BaseTestCase; import org.junit.FixMethodOrder; import org.junit.runners.MethodSorters; // TODO : // * Fix tests to not have to specify the order of execution like this // * The order of tests execution changed in Junit 4.11 (https://github.com/KentBeck/junit/blob/master/doc/ReleaseNotes4.11.md) @FixMethodOrder(MethodSorters.JVM) public class PollServiceTestCase extends BaseTestCase { private List<Poll> tearDownPollList; public void setUp() throws Exception { super.setUp(); tearDownPollList = new ArrayList<Poll>(); } public void tearDown() throws Exception { for (Poll poll : tearDownPollList) { pollService.removePoll(poll.getId()); } super.tearDown(); } public void testPollService() throws Exception { assertNotNull(getPollService()); } /** * testSavePoll * * @throws Exception */ public void testSavePoll() throws Exception { // if poll of topic : parentPath = topic.getPath(); Poll pollTopic = new Poll(); pollTopic.setParentPath(topicPath); pollService.savePoll(pollTopic, true, false); assertNotNull(pollService.getPoll(pollTopic.getId())); // if poll of Group : parentPath = // $GROUP/${PollNodeTypes.APPLICATION_DATA}/${PollNodeTypes.EXO_POLLS} Poll pollGroup = new Poll(); String parentPathGroup = "platform/users/" + PollNodeTypes.APPLICATION_DATA + "/" + PollNodeTypes.EXO_POLLS; pollGroup.setParentPath(parentPathGroup); pollService.savePoll(pollGroup, true, false); assertNotNull(pollService.getPoll(pollGroup.getId())); // if poll of public: parentPath = $PORTAL/${PollNodeTypes.POLLS} Poll pollPulic = new Poll(); String parentPathPublic = "portal" + PollNodeTypes.POLLS; pollPulic.setParentPath(parentPathPublic); pollService.savePoll(pollPulic, true, false); assertNotNull(pollService.getPoll(pollPulic.getId())); /* Clear all poll */ tearDownPollList.add(pollTopic); tearDownPollList.add(pollGroup); tearDownPollList.add(pollPulic); } /** * testGetPoll * * @throws Exception */ public void testGetPoll() throws Exception { /* Create new polls */ Poll pollTopic = new Poll(); pollTopic.setParentPath(topicPath); pollService.savePoll(pollTopic, true, false); Poll pollGroup = new Poll(); String parentPathGroup = "platform/users/" + PollNodeTypes.APPLICATION_DATA + "/" + PollNodeTypes.EXO_POLLS; pollGroup.setParentPath(parentPathGroup); pollService.savePoll(pollGroup, true, false); Poll pollPulic = new Poll(); String parentPathPublic = "portal" + PollNodeTypes.POLLS; pollPulic.setParentPath(parentPathPublic); pollService.savePoll(pollPulic, true, false); /* test getPoll */ Poll pTopic = pollService.getPoll(pollTopic.getId()); assertNotNull(pTopic); assertEquals(pTopic.getId(),pollTopic.getId()); /* Clear all poll */ tearDownPollList.add(pollTopic); tearDownPollList.add(pollGroup); tearDownPollList.add(pollPulic); } /** * testGetPagePoll * * @throws Exception */ public void testGetPagePoll() throws Exception { /* Create new polls */ Poll pollTopic = new Poll(); pollTopic.setParentPath(topicPath); pollService.savePoll(pollTopic, true, false); Poll pollGroup = new Poll(); String parentPathGroup = "platform/users/" + PollNodeTypes.APPLICATION_DATA + "/" + PollNodeTypes.EXO_POLLS; pollGroup.setParentPath(parentPathGroup); pollService.savePoll(pollGroup, true, false); Poll pollPulic = new Poll(); String parentPathPublic = "portal" + PollNodeTypes.POLLS; pollPulic.setParentPath(parentPathPublic); pollService.savePoll(pollPulic, true, false); /* test getPagePoll */ List<Poll> listPoll = pollService.getPagePoll(); assertEquals(listPoll.size(), 3); /* Clear all poll */ tearDownPollList.add(pollTopic); tearDownPollList.add(pollGroup); tearDownPollList.add(pollPulic); } /** * testRemovePoll * * @throws Exception */ public void testRemovePoll() throws Exception { /* Create new polls */ Poll pollTopic = new Poll(); pollTopic.setParentPath(topicPath); pollService.savePoll(pollTopic, true, false); Poll pollGroup = new Poll(); String parentPathGroup = "platform/users/" + PollNodeTypes.APPLICATION_DATA + "/" + PollNodeTypes.EXO_POLLS; pollGroup.setParentPath(parentPathGroup); pollService.savePoll(pollGroup, true, false); Poll pollPulic = new Poll(); String parentPathPublic = "portal" + PollNodeTypes.POLLS; pollPulic.setParentPath(parentPathPublic); pollService.savePoll(pollPulic, true, false); /* test removePoll */ pollService.removePoll(pollGroup.getId()); assertEquals(2, pollService.getPagePoll().size()); assertNull(pollService.getPoll(pollGroup.getId())); /* Clear all poll */ tearDownPollList.add(pollTopic); tearDownPollList.add(pollPulic); } }