Skip to content

Commit bcaaa2b

Browse files
committed
Improve mock assertions
- Indicate when the delegate SHOULD NOT be called - Always use `Argument::that` and `will()` constructs with other mocks
1 parent 13ee0ae commit bcaaa2b

File tree

1 file changed

+27
-8
lines changed

1 file changed

+27
-8
lines changed

test/AuthorizationMiddlewareTest.php

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ public function testProcessWithoutUserAttribute()
4242
$this->request->getAttribute(UserInterface::class, false)->willReturn(false);
4343
$this->response->withStatus(401)->will([$this->response, 'reveal']);
4444

45+
$this->delegate
46+
->{HANDLER_METHOD}(Argument::any())
47+
->shouldNotBeCalled();
48+
4549
$middleware = new AuthorizationMiddleware($this->authorization->reveal(), $this->response->reveal());
4650

4751
$response = $middleware->process(
@@ -54,10 +58,19 @@ public function testProcessWithoutUserAttribute()
5458

5559
public function testProcessRoleNotGranted()
5660
{
57-
$this->request->getAttribute(UserInterface::class, false)
58-
->willReturn($this->generateUser('foo', ['bar']));
59-
$this->response->withStatus(403)->will([$this->response, 'reveal']);
60-
$this->authorization->isGranted('bar', $this->request->reveal())->willReturn(false);
61+
$this->request
62+
->getAttribute(UserInterface::class, false)
63+
->willReturn($this->generateUser('foo', ['bar']));
64+
$this->response
65+
->withStatus(403)
66+
->will([$this->response, 'reveal']);
67+
$this->authorization
68+
->isGranted('bar', Argument::that([$this->request, 'reveal']))
69+
->willReturn(false);
70+
71+
$this->delegate
72+
->{HANDLER_METHOD}(Argument::any())
73+
->shouldNotBeCalled();
6174

6275
$middleware = new AuthorizationMiddleware($this->authorization->reveal(), $this->response->reveal());
6376

@@ -71,12 +84,18 @@ public function testProcessRoleNotGranted()
7184

7285
public function testProcessRoleGranted()
7386
{
74-
$this->request->getAttribute(UserInterface::class, false)
75-
->willReturn($this->generateUser('foo', ['bar']));
76-
$this->authorization->isGranted('bar', $this->request->reveal())->willReturn(true);
87+
$this->request
88+
->getAttribute(UserInterface::class, false)
89+
->willReturn($this->generateUser('foo', ['bar']));
90+
$this->authorization
91+
->isGranted('bar', Argument::that([$this->request, 'reveal']))
92+
->willReturn(true);
93+
94+
$this->delegate
95+
->{HANDLER_METHOD}(Argument::any())
96+
->will([$this->response, 'reveal']);
7797

7898
$middleware = new AuthorizationMiddleware($this->authorization->reveal(), $this->response->reveal());
79-
$this->delegate->{HANDLER_METHOD}(Argument::any())->willReturn($this->response->reveal());
8099

81100
$response = $middleware->process(
82101
$this->request->reveal(),

0 commit comments

Comments
 (0)