Example #1
0
 public function testUserRelation()
 {
     $userCalendar = new UserCalendar();
     $user = new User();
     $calendar = new Calendar();
     $this->assertCount(0, $user->getUserCalendars(), 'collection is initialized on creation');
     $this->assertCount(0, $calendar->getUserCalendars(), 'collection is initialized on creation');
     $this->assertCount(0, $calendar->getUsers(), 'collection is initialized on creation');
     $userCalendar->setUser($user);
     $userCalendar->setCalendar($calendar);
     $this->assertCount(1, $user->getUserCalendars(), 'user must be notified when userCalendar is added');
     $this->assertSame($userCalendar, $user->getUserCalendars()->first(), 'original userCalendar can be retrieved from user');
     $this->assertCount(1, $calendar->getUserCalendars(), 'calendar must be notified when userCalendar is added');
     $this->assertSame($userCalendar, $calendar->getUserCalendars()->first(), 'original userCalendar can be retrieved from calendar');
     $this->assertCount(1, $calendar->getUsers(), 'the user must now be the only one directly accessible');
     $this->assertSame($user, $calendar->getUsers()->first(), 'the user must be directly accessible');
 }
Example #2
0
 protected function createDefaultRelation(User $user)
 {
     $relation = new UserCalendar();
     $relation->setUser($user);
     $relation->setCalendar($this);
 }