From 6a5cfd9cd821d237ce661c690f133b47b826435b Mon Sep 17 00:00:00 2001 From: Greg Bowler Date: Sun, 27 Jan 2019 12:39:43 +0000 Subject: [PATCH] Test get/set request attributes, fully testing ServerRequest --- test/unit/ServerRequestTest.php | 39 +++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/test/unit/ServerRequestTest.php b/test/unit/ServerRequestTest.php index 4238c59..cb0d8e3 100644 --- a/test/unit/ServerRequestTest.php +++ b/test/unit/ServerRequestTest.php @@ -217,6 +217,45 @@ public function testWithParsedBody() { self::assertCount(2, $sut->getParsedBody()->asArray()); } + public function testGetAttributesEmpty() { + $sut = self::getServerRequest(); + self::assertEmpty($sut->getAttributes()); + } + + public function testWithAttribute() { + $sutWithout = self::getServerRequest(); + $sutWith = $sutWithout->withAttribute("testAttr", "testValue"); + self::assertEmpty($sutWithout->getAttributes()); + self::assertCount(1, $sutWith->getAttributes()); + } + + public function testGetAttribute() { + $sut = self::getServerRequest() + ->withAttribute("testAttr", "testValue"); + self::assertEquals( + "testValue", + $sut->getAttribute("testAttr") + ); + } + + public function testGetAttributeDefault() { + $sut = self::getServerRequest() + ->withAttribute("testAttr", "testValue"); + self::assertEquals( + "defaultValue", + $sut->getAttribute("notExists", "defaultValue") + ); + } + + public function testGetAttributeWithout() { + $sut = self::getServerRequest() + ->withAttribute("testAttr1", "testValue1") + ->withAttribute("testAttr2", "testValue2") + ->withAttribute("testAttr3", "testValue3") + ->withoutAttribute("testAttr2"); + self::assertCount(2, $sut->getAttributes()); + } + protected function getServerRequest( string $method = null, string $uri = null,