public function testOnSubmit()
 {
     // set default empty data
     $firstEvent = new CalendarEvent();
     $firstEvent->setTitle('1');
     $secondEvent = new CalendarEvent();
     $secondEvent->setTitle('2');
     $parentEvent = new CalendarEvent();
     $parentEvent->setTitle('parent title')->setDescription('parent description')->setStart(new \DateTime('now'))->setEnd(new \DateTime('now'))->setAllDay(true);
     $parentEvent->addChildEvent($firstEvent)->addChildEvent($secondEvent);
     $form = $this->getMock('Symfony\\Component\\Form\\FormInterface');
     $form->expects($this->any())->method('getData')->will($this->returnValue($parentEvent));
     // assert default data with default status
     $this->type->postSubmit(new FormEvent($form, []));
     $this->assertEquals(CalendarEvent::ACCEPTED, $parentEvent->getInvitationStatus());
     $this->assertEquals(CalendarEvent::NOT_RESPONDED, $firstEvent->getInvitationStatus());
     $this->assertEquals(CalendarEvent::NOT_RESPONDED, $secondEvent->getInvitationStatus());
     $this->assertEventDataEquals($parentEvent, $firstEvent);
     $this->assertEventDataEquals($parentEvent, $secondEvent);
     // modify data
     $parentEvent->setTitle('modified title')->setDescription('modified description')->setStart(new \DateTime('tomorrow'))->setEnd(new \DateTime('tomorrow'))->setAllDay(false);
     $parentEvent->setInvitationStatus(CalendarEvent::ACCEPTED);
     $firstEvent->setInvitationStatus(CalendarEvent::DECLINED);
     $secondEvent->setInvitationStatus(CalendarEvent::TENTATIVELY_ACCEPTED);
     // assert modified data
     $this->type->postSubmit(new FormEvent($form, []));
     $this->assertEquals(CalendarEvent::ACCEPTED, $parentEvent->getInvitationStatus());
     $this->assertEquals(CalendarEvent::DECLINED, $firstEvent->getInvitationStatus());
     $this->assertEquals(CalendarEvent::TENTATIVELY_ACCEPTED, $secondEvent->getInvitationStatus());
     $this->assertEventDataEquals($parentEvent, $firstEvent);
     $this->assertEventDataEquals($parentEvent, $secondEvent);
 }
Example #2
0
 public function testGetChildEventByCalendar()
 {
     $firstCalendar = new Calendar();
     $firstCalendar->setName('1');
     $secondCalendar = new Calendar();
     $secondCalendar->setName('2');
     $firstEvent = new CalendarEvent();
     $firstEvent->setTitle('1')->setCalendar($firstCalendar);
     $secondEvent = new CalendarEvent();
     $secondEvent->setTitle('2')->setCalendar($secondCalendar);
     $masterEvent = new CalendarEvent();
     $masterEvent->addChildEvent($firstEvent)->addChildEvent($secondEvent);
     $this->assertEquals($firstEvent, $masterEvent->getChildEventByCalendar($firstCalendar));
     $this->assertEquals($secondEvent, $masterEvent->getChildEventByCalendar($secondCalendar));
     $this->assertNull($masterEvent->getChildEventByCalendar(new Calendar()));
 }
 /**
  * @param CalendarEvent $parentCalendarEvent
  * @param User $user
  * @return CalendarEvent
  */
 protected function createChildEvent(CalendarEvent $parentCalendarEvent, User $user)
 {
     $userCalendar = $this->getDefaultUserCalendar($user);
     $childCalendarEvent = new CalendarEvent();
     $childCalendarEvent->setStart($parentCalendarEvent->getStart())->setEnd($parentCalendarEvent->getEnd())->setTitle($parentCalendarEvent->getTitle())->setCalendar($userCalendar)->setAllDay(false);
     $parentCalendarEvent->addChildEvent($childCalendarEvent);
     return $childCalendarEvent;
 }