Skip to content

Commit 3a2c3ce

Browse files
committed
Add test for verifying magic methods
1 parent bcb384e commit 3a2c3ce

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

tests/_data/demo/UserService.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,17 @@ public function updateName(UserModel $user)
1515
$user->save();
1616
}
1717

18+
public function renameUser(UserModel $user, $name)
19+
{
20+
$user->renameUser($name);
21+
$user->save();
22+
}
23+
1824
public function __call($name, $args)
1925
{
2026
if ($name == 'rename') {
2127
return 'David Blane';
2228
}
2329
}
2430

25-
}
31+
}

tests/unit/VerifierTest.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,20 @@ public function testVerifyInvocationClosures()
4242
});
4343
}
4444

45+
public function testVerifyMagicMethods()
46+
{
47+
$this->specify('works for class proxy', function() {
48+
// Set up user object.
49+
double::registerClass("demo\UserModel",
50+
['renameUser'=>"Bob Jones", 'save'=>null]);
51+
$userProxy = new ClassProxy("demo\UserModel");
52+
$user = new UserModel(['name'=>"John Smith"]);
53+
54+
// Rename the user via magic method.
55+
UserService::renameUser($user, "Bob Jones");
56+
57+
// Assert rename was counted.
58+
$userProxy->verifyInvoked('renameUser');
59+
});
60+
}
4561
}

0 commit comments

Comments
 (0)