@Test public void testVerifyVotesRejectsMissingCategory() { assertFalse(1 == firstEvent.getVoteCategories().size()); List<Long> voteList = Lists.newArrayList(); voteList.add(firstEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); try { voteService.verifyVotes(firstEvent, voteList); fail("should not succeed"); } catch (Exception e) { assertTrue(e.getMessage().contains("Invalid voting")); } }
@Test public void testVerifyVotesRejectsVotesForOtherEvent() { assertEquals(2, firstEvent.getVoteCategories().size()); List<Long> voteList = Lists.newArrayList(); voteList.add(firstEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); voteList.add(secondEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); try { voteService.verifyVotes(firstEvent, voteList); fail("should not succeed"); } catch (Exception e) { assertTrue(e.getMessage().contains("Must vote in all categories")); } }
@Test public void testVoteEventDoesntExist() { Event e = new Event(null, null, "", "", EventType.PUBLIC, DateTime.now(), DateTime.now()); e.setId((long) 10000); List<Long> voteList = Lists.newArrayList(); voteList.add((long) 1); try { voteService.verifyVotes(e, voteList); fail("should not succeed"); } catch (Exception e1) { assertTrue(e1.getMessage() != null); } }
@Test public void testVerifyAddVoteReplacesExistingVote() throws Exception { List<Long> voteList = Lists.newArrayList(); voteList.add(firstEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); voteList.add(firstEvent.getVoteCategories().get(1).getVoteOptions().get(0).getId()); voteService.addVotes(firstEvent, voteList, voter); // eventDao.update(firstEvent); VoteOption vo1o1 = voteOptionDao.find(firstEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); VoteOption vo2o1 = voteOptionDao.find(firstEvent.getVoteCategories().get(1).getVoteOptions().get(0).getId()); assertTrue(vo1o1.getVotes().size() == 1); assertTrue(vo2o1.getVotes().size() == 1); voteList.clear(); voteList.add(firstEvent.getVoteCategories().get(0).getVoteOptions().get(1).getId()); voteList.add(firstEvent.getVoteCategories().get(1).getVoteOptions().get(1).getId()); voteService.addVotes(firstEvent, voteList, voter); vo1o1 = voteOptionDao.find(firstEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); vo2o1 = voteOptionDao.find(firstEvent.getVoteCategories().get(1).getVoteOptions().get(0).getId()); VoteOption vo1o2 = voteOptionDao.find(firstEvent.getVoteCategories().get(0).getVoteOptions().get(1).getId()); VoteOption vo2o2 = voteOptionDao.find(firstEvent.getVoteCategories().get(1).getVoteOptions().get(1).getId()); assertTrue(vo1o1.getVotes().size() == 0); assertTrue(vo2o1.getVotes().size() == 0); assertTrue(vo1o2.getVotes().size() == 1); assertTrue(vo2o2.getVotes().size() == 1); }
@Test public void testVerifyVotes() { assertEquals(2, firstEvent.getVoteCategories().size()); List<Long> voteList = Lists.newArrayList(); voteList.add(firstEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); voteList.add(firstEvent.getVoteCategories().get(1).getVoteOptions().get(0).getId()); try { voteService.verifyVotes(firstEvent, voteList); return; } catch (Exception e) { // ignore } fail("should not succeed"); }
@Test public void testRepeatCategoriesRejectsAll() { List<Long> voteList = Lists.newArrayList(); // repeat all categories or one category voteList.add(firstEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); voteList.add(firstEvent.getVoteCategories().get(1).getVoteOptions().get(1).getId()); voteList.add(firstEvent.getVoteCategories().get(0).getVoteOptions().get(1).getId()); voteList.add(firstEvent.getVoteCategories().get(1).getVoteOptions().get(0).getId()); try { voteService.addVotes(firstEvent, voteList, voter); fail("should not succeed"); } catch (Exception e) { assertTrue(e.getMessage().contains("Invalid voting")); } }
@Test public void testValidUserPrivateEvent() throws Exception { privateEvent.addEventUser(voter); List<Long> voteList = Lists.newArrayList(); voteList.add(privateEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); voteList.add(privateEvent.getVoteCategories().get(1).getVoteOptions().get(1).getId()); voteService.addVotes(privateEvent, voteList, voter); VoteOption vo1o1 = voteOptionDao.find(privateEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); VoteOption vo2o1 = voteOptionDao.find(privateEvent.getVoteCategories().get(1).getVoteOptions().get(1).getId()); assertTrue(vo1o1.getVotes().size() == 1); assertTrue(vo2o1.getVotes().size() == 1); }
@Test public void testVerifyAddVoteRecordsVote() throws Exception { // test firstEvent, secondEvent List<Long> voteList = Lists.newArrayList(); voteList.add(firstEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); voteList.add(firstEvent.getVoteCategories().get(1).getVoteOptions().get(1).getId()); voteService.addVotes(firstEvent, voteList, voter); // eventDao.update(secondEvent); VoteOption vo1o1 = voteOptionDao.find(firstEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); VoteOption vo2o1 = voteOptionDao.find(firstEvent.getVoteCategories().get(1).getVoteOptions().get(1).getId()); assertTrue(vo1o1.getVotes().size() == 1); assertTrue(vo2o1.getVotes().size() == 1); }
@Test public void testInvalidUserPrivateEvent() throws Exception { try { List<Long> voteList = Lists.newArrayList(); voteList.add(privateEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); voteList.add(privateEvent.getVoteCategories().get(1).getVoteOptions().get(1).getId()); voteService.addVotes(privateEvent, voteList, voter); VoteOption vo1o1 = voteOptionDao.find( privateEvent.getVoteCategories().get(0).getVoteOptions().get(0).getId()); VoteOption vo2o1 = voteOptionDao.find( privateEvent.getVoteCategories().get(1).getVoteOptions().get(1).getId()); assertTrue(vo1o1.getVotes().size() == 1); assertTrue(vo2o1.getVotes().size() == 1); } catch (Exception e) { assertTrue(e.getMessage().contains("Invalid event for user")); } }