Skip to content

Commit f66c9e3

Browse files
committed
Add tests
1 parent cd6bda5 commit f66c9e3

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

src/App/Validator/ValidateBody.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public function __invoke(ServerRequestInterface $request, ResponseInterface $res
1414
if (!$body) {
1515
throw new InvalidArgumentException("Invalid Body");
1616
}
17+
1718
return $next($request, $response);
1819
}
1920
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php
2+
3+
namespace AppTest\Validator;
4+
5+
use App\Validator\ValidateBody;
6+
use Psr\Http\Message\ServerRequestInterface;
7+
use Zend\Expressive\Container\Exception\InvalidArgumentException;
8+
use Zend\Stratigility\Http\ResponseInterface;
9+
10+
class ValidateBodyTest extends \PHPUnit_Framework_TestCase
11+
{
12+
private $validateBody;
13+
14+
public function setUp()
15+
{
16+
$this->validateBody = new ValidateBody();
17+
}
18+
19+
/**
20+
* @test
21+
* * @expectedException InvalidArgumentException
22+
*/
23+
public function itWillThrowAnExceptionWhenBodyIsInvalid()
24+
{
25+
/** @var ServerRequestInterface $request */
26+
$request = $this->prophesize(ServerRequestInterface::class);
27+
/** @var ResponseInterface $response */
28+
$response = $this->prophesize(ResponseInterface::class);
29+
$next = function ($request, $response) {
30+
return $response;
31+
};
32+
$request->getParsedBody()->shouldBeCalled()->willReturn([]);
33+
$result = $this->validateBody->__invoke($request->reveal(), $response->reveal(), $next);
34+
}
35+
36+
/**
37+
* @test
38+
*/
39+
public function itWillNotThrowAnExceptionForValidBody()
40+
{
41+
/** @var ServerRequestInterface $request */
42+
$request = $this->prophesize(ServerRequestInterface::class);
43+
/** @var ResponseInterface $response */
44+
$response = $this->prophesize(ResponseInterface::class);
45+
$next = function ($request, $response) {
46+
return $response;
47+
};
48+
$request->getParsedBody()->shouldBeCalled()->willReturn(["foo" => "bar"]);
49+
$result = $this->validateBody->__invoke($request->reveal(), $response->reveal(), $next);
50+
$this->assertInstanceOf(ResponseInterface::class, $result);
51+
}
52+
}

0 commit comments

Comments
 (0)