Example #1
0
 /**
  * @testdox All changes are attributed to a user.
  * @test
  */
 public function attribution()
 {
     // Create two users.
     $user1 = new \Ormic\Model\User();
     $user1->username = '******';
     $user1->save();
     $this->assertEquals(1, $user1->id);
     $user2 = new \Ormic\Model\User();
     $user2->username = '******';
     $user2->save();
     $this->assertEquals(2, $user2->id);
     // Create a record to edit.
     $book = new Model\Book();
     $book->setUser($user1);
     $book->title = 'Test Book';
     $book->save();
     // Make sure it was edited by the correct user.
     $datalog1 = $book->getDatalog();
     $this->assertEquals(1, $datalog1[0]->user_id);
     // Edit the record, and check the new datalog record.
     $book->setUser($user2);
     $book->title = 'Test Title';
     $book->save();
     $datalog2 = $book->getDatalog();
     $this->assertEquals(2, $datalog2[0]->user_id);
 }
Example #2
0
 /**
  * A convienient way to get a new User object, for whatever tests need it.
  * @return \Ormic\Model\User The 'testuser' user.
  */
 public function getTestUser()
 {
     $user = \Ormic\Model\User::find(1);
     if (!$user) {
         $user = new \Ormic\Model\User();
         $user->name = 'Test User';
         $user->username = '******';
         $user->email = '*****@*****.**';
         $user->save();
     }
     return $user;
 }
Example #3
0
 /**
  * @testdox By default, only Administrators can modify data.
  */
 public function permission()
 {
     // Set up two users, one admin and one not. The first created user is
     // always an admin.
     $admin = new \Ormic\Model\User();
     $admin->username = '******';
     $admin->save();
     $this->assertTrue($admin->isAdmin());
     $nonAdmin = new \Ormic\Model\User();
     $nonAdmin->username = '******';
     $nonAdmin->save();
     $this->assertFalse($nonAdmin->isAdmin());
     // Start a new model.
     $book = new Model\Book();
     $book->setUser($nonAdmin);
     $this->assertFalse($book->canEdit());
     $book->setUser($admin);
     $this->assertTrue($book->canEdit());
 }