88
99class HttpResponseTest extends TestCase
1010{
11- private array $ defaultHeader ;
12-
13- protected function setUp (): void
14- {
15- $ this ->defaultHeader = ['Content-Type ' => [HttpContentType::APPLICATION_JSON ->value ]];
16- }
17-
1811 /**
1912 * @dataProvider providerData
2013 */
@@ -26,7 +19,7 @@ public function testResponseOk(mixed $data, mixed $expected): void
2619 self ::assertEquals ($ expected , $ response ->getBody ()->getContents ());
2720 self ::assertEquals (HttpCode::OK ->value , $ response ->getStatusCode ());
2821 self ::assertEquals (HttpCode::OK ->message (), $ response ->getReasonPhrase ());
29- self ::assertEquals ($ this ->defaultHeader , $ response ->getHeaders ());
22+ self ::assertEquals ($ this ->defaultHeaderFrom (code: HttpCode:: OK ) , $ response ->getHeaders ());
3023 }
3124
3225 /**
@@ -40,7 +33,7 @@ public function testResponseCreated(mixed $data, mixed $expected): void
4033 self ::assertEquals ($ expected , $ response ->getBody ()->getContents ());
4134 self ::assertEquals (HttpCode::CREATED ->value , $ response ->getStatusCode ());
4235 self ::assertEquals (HttpCode::CREATED ->message (), $ response ->getReasonPhrase ());
43- self ::assertEquals ($ this ->defaultHeader , $ response ->getHeaders ());
36+ self ::assertEquals ($ this ->defaultHeaderFrom (code: HttpCode:: CREATED ) , $ response ->getHeaders ());
4437 }
4538
4639 /**
@@ -54,7 +47,7 @@ public function testResponseAccepted(mixed $data, mixed $expected): void
5447 self ::assertEquals ($ expected , $ response ->getBody ()->getContents ());
5548 self ::assertEquals (HttpCode::ACCEPTED ->value , $ response ->getStatusCode ());
5649 self ::assertEquals (HttpCode::ACCEPTED ->message (), $ response ->getReasonPhrase ());
57- self ::assertEquals ($ this ->defaultHeader , $ response ->getHeaders ());
50+ self ::assertEquals ($ this ->defaultHeaderFrom (code: HttpCode:: ACCEPTED ) , $ response ->getHeaders ());
5851 }
5952
6053 public function testResponseNoContent (): void
@@ -65,7 +58,63 @@ public function testResponseNoContent(): void
6558 self ::assertEquals ('' , $ response ->getBody ()->getContents ());
6659 self ::assertEquals (HttpCode::NO_CONTENT ->value , $ response ->getStatusCode ());
6760 self ::assertEquals (HttpCode::NO_CONTENT ->message (), $ response ->getReasonPhrase ());
68- self ::assertEquals ($ this ->defaultHeader , $ response ->getHeaders ());
61+ self ::assertEquals ($ this ->defaultHeaderFrom (code: HttpCode::NO_CONTENT ), $ response ->getHeaders ());
62+ }
63+
64+ /**
65+ * @dataProvider providerData
66+ */
67+ public function testResponseBadRequest (mixed $ data , mixed $ expected ): void
68+ {
69+ $ response = HttpResponse::badRequest (data: $ data );
70+
71+ self ::assertEquals ($ expected , $ response ->getBody ()->__toString ());
72+ self ::assertEquals ($ expected , $ response ->getBody ()->getContents ());
73+ self ::assertEquals (HttpCode::BAD_REQUEST ->value , $ response ->getStatusCode ());
74+ self ::assertEquals (HttpCode::BAD_REQUEST ->message (), $ response ->getReasonPhrase ());
75+ self ::assertEquals ($ this ->defaultHeaderFrom (code: HttpCode::BAD_REQUEST ), $ response ->getHeaders ());
76+ }
77+
78+ /**
79+ * @dataProvider providerData
80+ */
81+ public function testResponseNotFound (mixed $ data , mixed $ expected ): void
82+ {
83+ $ response = HttpResponse::notFound (data: $ data );
84+
85+ self ::assertEquals ($ expected , $ response ->getBody ()->__toString ());
86+ self ::assertEquals ($ expected , $ response ->getBody ()->getContents ());
87+ self ::assertEquals (HttpCode::NOT_FOUND ->value , $ response ->getStatusCode ());
88+ self ::assertEquals (HttpCode::NOT_FOUND ->message (), $ response ->getReasonPhrase ());
89+ self ::assertEquals ($ this ->defaultHeaderFrom (code: HttpCode::NOT_FOUND ), $ response ->getHeaders ());
90+ }
91+
92+ /**
93+ * @dataProvider providerData
94+ */
95+ public function testResponseConflict (mixed $ data , mixed $ expected ): void
96+ {
97+ $ response = HttpResponse::conflict (data: $ data );
98+
99+ self ::assertEquals ($ expected , $ response ->getBody ()->__toString ());
100+ self ::assertEquals ($ expected , $ response ->getBody ()->getContents ());
101+ self ::assertEquals (HttpCode::CONFLICT ->value , $ response ->getStatusCode ());
102+ self ::assertEquals (HttpCode::CONFLICT ->message (), $ response ->getReasonPhrase ());
103+ self ::assertEquals ($ this ->defaultHeaderFrom (code: HttpCode::CONFLICT ), $ response ->getHeaders ());
104+ }
105+
106+ /**
107+ * @dataProvider providerData
108+ */
109+ public function testResponseInternalServerError (mixed $ data , mixed $ expected ): void
110+ {
111+ $ response = HttpResponse::internalServerError (data: $ data );
112+
113+ self ::assertEquals ($ expected , $ response ->getBody ()->__toString ());
114+ self ::assertEquals ($ expected , $ response ->getBody ()->getContents ());
115+ self ::assertEquals (HttpCode::INTERNAL_SERVER_ERROR ->value , $ response ->getStatusCode ());
116+ self ::assertEquals (HttpCode::INTERNAL_SERVER_ERROR ->message (), $ response ->getReasonPhrase ());
117+ self ::assertEquals ($ this ->defaultHeaderFrom (code: HttpCode::INTERNAL_SERVER_ERROR ), $ response ->getHeaders ());
69118 }
70119
71120 public function providerData (): array
@@ -97,4 +146,12 @@ public function providerData(): array
97146 ]
98147 ];
99148 }
149+
150+ private function defaultHeaderFrom (HttpCode $ code ): array
151+ {
152+ return [
153+ 'Status ' => [sprintf ('HTTP/1.1 %s ' , $ code ->message ())],
154+ 'Content-Type ' => [HttpContentType::APPLICATION_JSON ->value ]
155+ ];
156+ }
100157}
0 commit comments