diff options
author | Igor Scheller <igor.scheller@igorshp.de> | 2019-11-27 19:11:37 +0100 |
---|---|---|
committer | Igor Scheller <igor.scheller@igorshp.de> | 2019-12-08 02:12:56 +0100 |
commit | 89742ecd5542c740f3625af76c843a7471dbe98a (patch) | |
tree | 71c0c78ceb6a3a24b63c51c94a655cf5b33dc044 /tests/Unit/Http/ResponseTest.php | |
parent | be39c63f46562eea173747d80cd91ac81e0b8e09 (diff) |
Response: Added with and withInput methods and back/redirect functions
Diffstat (limited to 'tests/Unit/Http/ResponseTest.php')
-rw-r--r-- | tests/Unit/Http/ResponseTest.php | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/Unit/Http/ResponseTest.php b/tests/Unit/Http/ResponseTest.php index b8e6e527..56d8410f 100644 --- a/tests/Unit/Http/ResponseTest.php +++ b/tests/Unit/Http/ResponseTest.php @@ -10,6 +10,8 @@ use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Psr\Http\Message\ResponseInterface; use Symfony\Component\HttpFoundation\Response as SymfonyResponse; +use Symfony\Component\HttpFoundation\Session\Session; +use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; class ResponseTest extends TestCase { @@ -116,4 +118,59 @@ class ResponseTest extends TestCase $newResponse->getHeaders() ); } + + /** + * @covers \Engelsystem\Http\Response::with + */ + public function testWith() + { + $session = new Session(new MockArraySessionStorage()); + $response = new Response('', 200, [], null, $session); + + $response->with('foo', 'bar'); + $this->assertEquals('bar', $session->get('foo')); + + $response->with('lorem', ['ipsum', 'dolor' => ['foo' => 'bar']]); + $this->assertEquals(['ipsum', 'dolor' => ['foo' => 'bar']], $session->get('lorem')); + + $response->with('lorem', ['dolor' => ['test' => 'er']]); + $this->assertEquals(['ipsum', 'dolor' => ['foo' => 'bar', 'test' => 'er']], $session->get('lorem')); + } + + /** + * @covers \Engelsystem\Http\Response::with + */ + public function testWithNoSession() + { + $this->expectException(InvalidArgumentException::class); + + $response = new Response(); + $response->with('foo', 'bar'); + } + + /** + * @covers \Engelsystem\Http\Response::withInput + */ + public function testWithInput() + { + $session = new Session(new MockArraySessionStorage()); + $response = new Response('', 200, [], null, $session); + + $response->withInput(['some' => 'value']); + $this->assertEquals(['some' => 'value'], $session->get('form-data')); + + $response->withInput(['lorem' => 'ipsum']); + $this->assertEquals(['lorem' => 'ipsum'], $session->get('form-data')); + } + + /** + * @covers \Engelsystem\Http\Response::withInput + */ + public function testWithInputNoSession() + { + $this->expectException(InvalidArgumentException::class); + + $response = new Response(); + $response->withInput(['some' => 'value']); + } } |