示例#1
0
 public function testCreatorShouldBeGivenRights()
 {
     User::setCurrentUser(null);
     $calendar1 = new Calendar();
     $this->assertEmpty($calendar1->getUsers(), 'new calendar without current user should have no users');
     $user = new User();
     User::setCurrentUser($user);
     $calendar2 = new Calendar();
     $this->assertCount(1, $calendar2->getUsers(), 'new calendar with current user should have a user');
     $this->assertSame($user, $calendar2->getUsers()[0], 'new calendar with current user should have a user');
 }
示例#2
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');
 }