public function testClassMethodFails() { $userProxy = $this->userProxy(); UserModel::tableName(); UserModel::tableName(); $userProxy->verifyInvokedOnce('tableName'); }
public function testVerifyStaticMethods() { double::registerClass('demo\\UserModel'); $user = new ClassProxy('demo\\UserModel'); UserModel::tableName(); $user->verifyInvoked('tableName'); }
public function testDoubleClass() { $user = test::double('demo\\UserModel', ['save' => null]); (new demo\UserModel())->save(); $user->verifyInvoked('save'); \demo\UserModel::tableName(); \demo\UserModel::tableName(); $user->verifyInvokedMultipleTimes('tableName', 2); $this->specify('disabling all methods', function () use($user) { test::methods($user, []); verify(\demo\UserModel::tableName())->null(); }); }
public function testStaticAccess() { $this->assertEquals('users', UserModel::tableName()); double::registerClass('\\demo\\UserModel', ['tableName' => 'my_users']); $this->assertEquals('my_users', UserModel::tableName()); }