/** * tests if criteria modification in beforeFind() applies on normal find*() method call * @dataProvider userCriteriaProvider */ public function testBeforeFindCriteriaModification($criteria, $count, $assertations) { UserWithWrappers::setBeforeFindCriteria($criteria); $user = UserWithWrappers::model()->find(); $this->assertCriteriaApplied(array($user), $criteria, 1, $assertations); $user = UserWithWrappers::model()->findByAttributes(array('username' => 'user1')); $this->assertCriteriaApplied(array($user), $criteria, 1, $assertations); $user = UserWithWrappers::model()->findByPk(1); $this->assertCriteriaApplied(array($user), $criteria, 1, $assertations); $user = UserWithWrappers::model()->findBySql('SELECT * FROM users'); $this->assertCriteriaApplied(array($user), $criteria, 1, array()); $users = UserWithWrappers::model()->findAll(); $this->assertCriteriaApplied($users, $criteria, $count, $assertations); $users = UserWithWrappers::model()->findAllByAttributes(array('username' => array('user1', 'user2', 'user3', 'user4'))); $this->assertCriteriaApplied($users, $criteria, $count, $assertations); $users = UserWithWrappers::model()->findAllByPk(array(1, 2, 3, 4)); $this->assertCriteriaApplied($users, $criteria, $count, $assertations); $users = UserWithWrappers::model()->findAllBySql('SELECT * FROM users'); $this->assertCriteriaApplied($users, $criteria, 4, array()); }