Пример #1
0
 public function testTransactions()
 {
     $this->createUsersWithFriends(10);
     $this->assertEqual(User::count(), 10);
     TipyModel::transaction(function () {
         $this->createUsersWithFriends(10);
         $user = User::findFirst();
         $user->lockForUpdate();
         $this->assertEqual(User::count(), 20);
         $this->assertEqual(Friend::count(), 90);
         TipyModel::rollback();
     });
     $this->assertEqual(User::count(), 10);
     $this->assertEqual(Friend::count(), 45);
     TipyModel::transaction(function () {
         $this->createUsersWithFriends(10);
         $this->assertEqual(User::count(), 20);
         $this->assertEqual(Friend::count(), 90);
     });
     $this->assertEqual(User::count(), 20);
     $this->assertEqual(Friend::count(), 90);
 }
Пример #2
0
 public function testNull()
 {
     TipyModel::transaction(function () {
         $profile = Profile::create(['userId' => 1, 'sign' => null]);
         $this->assertNull($profile->sign);
         $profile->sign = 'sign';
         $profile->save();
         $this->assertNotNull($profile->sign);
         $profile->sign = null;
         $profile->save();
         $this->assertNull($profile->sign);
         TipyModel::rollback();
     });
 }