@Test public void testGetAllEvents() throws XWikiException { ArrayList<EventApi> eventList = new ArrayList<EventApi>(); IEvent event = createMock(IEvent.class); event.setLanguage(eq("de")); expectLastCall().once(); IEvent event2 = createMock(IEvent.class); event2.setLanguage(eq("de")); expectLastCall().once(); IEvent event3 = createMock(IEvent.class); event3.setLanguage(eq("de")); expectLastCall().once(); IEvent event4 = createMock(IEvent.class); event4.setLanguage(eq("de")); expectLastCall().once(); DocumentReference cal2DocRef = new DocumentReference(context.getDatabase(), "MyCalDoc2Space", "MyCal2Doc"); Calendar cal2 = new Calendar(cal2DocRef, isArchiv); cal2.setCalendarUtils(calUtils); cal2.inject_getEventCmd(eventMgrMock); expect(eventMgrMock.getEvents(same(cal2), eq(0), eq(0))).andReturn(eventList); replayAll(event, event2, event3, event4); eventList.add(new EventApi(event, context)); eventList.add(new EventApi(event2, context)); eventList.add(new EventApi(event3, context)); eventList.add(new EventApi(event4, context)); List<EventApi> events = cal2.getAllEvents(); verifyAll(event, event2, event3, event4); assertEquals("expecting complete eventList", eventList, events); }
@Test public void testSetStartDate_null() { Date startDate = cal.getStartDate(); cal.setStartDate(null); assertNotNull(cal.getStartDate()); assertSame(startDate, cal.getStartDate()); }
@Test public void testNewCalendar() { DocumentReference calDocRef = new DocumentReference(context.getDatabase(), "mySpace", "myCalDoc"); cal = new Calendar(calDocRef, isArchiv); assertEquals(calDocRef, cal.getDocumentReference()); assertEquals(isArchiv, cal.isArchive()); }
@Test public void testGetStartDate() { Date startDateBefore = new Date(); cal = new Calendar(calDocRef, isArchiv); Date startDateAfter = new Date(); assertTrue(startDateBefore.compareTo(cal.getStartDate()) <= 0); assertTrue(startDateAfter.compareTo(cal.getStartDate()) >= 0); }
@Test public void testSetStartDate() { Date startDate = cal.getStartDate(); Date newStartDate = new Date(); cal.setStartDate(newStartDate); assertNotNull(cal.getStartDate()); assertNotSame(startDate, cal.getStartDate()); assertSame(newStartDate, cal.getStartDate()); }
@Before public void setUp_CalendarTest() throws Exception { eventList = new ArrayList<EventApi>(); context = getContext(); xwiki = createMock(XWiki.class); context.setWiki(xwiki); calDocRef = new DocumentReference(context.getDatabase(), "MyCalSpace", "MyCalDoc"); cal = new Calendar(calDocRef, isArchiv); calUtils = createMock(CalendarUtils.class); cal.setCalendarUtils(calUtils); eventMgrMock = createMock(IEventManager.class); cal.inject_getEventCmd(eventMgrMock); }
@Test public void testIsArchive() { assertEquals( "isArchive must return the isArchive value given in " + "the constructor call", isArchiv, cal.isArchive()); }
@Test public void testGetNrOfEvents_nonEmptyList() throws XWikiException { ArrayList<Long> eventList = new ArrayList<Long>(); eventList.add(123l); DocumentReference cal2DocRef = new DocumentReference(context.getDatabase(), "MyCalDoc2Space", "MyCal2Doc"); Calendar cal2 = new Calendar(cal2DocRef, isArchiv); cal2.setCalendarUtils(calUtils); cal2.inject_getEventCmd(eventMgrMock); expect(eventMgrMock.countEvents(eq(cal2DocRef), eq(isArchiv), eq(cal2.getStartDate()))) .andReturn(123l); replayAll(); long numEvents = cal2.getNrOfEvents(); verifyAll(); assertEquals("Expecting size of eventList.", 123l, numEvents); }
@Test public void testGetNrOfEvents_emptyList() { expect(eventMgrMock.countEvents(eq(calDocRef), eq(false), isA(Date.class))).andReturn(0L); replayAll(); assertEquals("must be zero for empty list.", 0, cal.getNrOfEvents()); verifyAll(); }
@Test public void testGetAllEvents_informationHidingSecurity() throws XWikiException { List<EventApi> list = Collections.emptyList(); expect(eventMgrMock.getEvents(same(cal), eq(0), eq(0))).andReturn(list).once(); replayAll(); List<EventApi> events = cal.getAllEvents(); verifyAll(); assertNotSame("getAllEvents may not leak internal data references.", eventList, events); }
@Test @Deprecated public void testNewCalendar_deprecated_constructor() { DocumentReference calDocRef = new DocumentReference(context.getDatabase(), "mySpace", "myCalDoc"); XWikiDocument calDoc = new XWikiDocument(calDocRef); cal = new Calendar(calDoc, isArchiv, context); assertEquals(calDocRef, cal.getDocumentReference()); }
@Test public void testGetEvents_illegalStartValue() throws XWikiException { ArrayList<EventApi> eventList = new ArrayList<EventApi>(); IEvent event = createMock(IEvent.class); event.setLanguage(eq("de")); expectLastCall().once(); DocumentReference cal2DocRef = new DocumentReference(context.getDatabase(), "MyCalDoc2Space", "MyCal2Doc"); Calendar cal2 = new Calendar(cal2DocRef, isArchiv); cal2.setCalendarUtils(calUtils); cal2.inject_getEventCmd(eventMgrMock); expect(eventMgrMock.getEvents(same(cal2), eq(5), eq(1))).andReturn(eventList); replayAll(event); eventList.add(new EventApi(event, context)); int start = 5; int nb = 1; List<EventApi> events = cal2.getEvents(start, nb); verifyAll(event); assertEquals("Expecting to get the full eventlist", eventList, events); }