Example #1
0
 public function testLoad()
 {
     try {
         new User('invalid call');
         $this->fail('Expected Exception not thrown');
     } catch (\Packaged\Mappers\Exceptions\InvalidLoadException $e) {
     }
     try {
         User::load(null);
         $this->fail('Expected Exception not thrown');
     } catch (\Packaged\Mappers\Exceptions\InvalidLoadException $e) {
     }
     $uniqueDescription = uniqid('usertesting');
     $user = new User();
     $user->name = 'name' . rand() . time();
     $user->description = $uniqueDescription;
     $user->save();
     $this->assertTrue($user->exists());
     $user->clearSavedChanges();
     $loaded = User::load($user->id());
     $this->assertEquals($user->id(), $loaded->id());
     $this->compareObjects($user, $loaded);
     $loadedUser = User::load($user->id());
     $this->assertTrue($loadedUser->exists());
     $this->compareObjects($user, $loadedUser);
     $newUser = $user->saveAsNew();
     $user->getEntityManager()->detach($user);
     $newUser->getEntityManager()->detach($newUser);
     $this->compareObjects([$user->clearSavedChanges(), $newUser->clearSavedChanges()], User::loadWhere(['description' => $uniqueDescription]));
     $user->name = 'name' . rand() . time();
     $user->save();
     $this->compareObjects([$user->clearSavedChanges()], User::loadWhere(['name' => $user->name]));
 }