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); }
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(); }); }