12
12
use Yiisoft \DataResponse \DataResponseFactory ;
13
13
use Yiisoft \DataResponse \Formatter \JsonDataResponseFormatter ;
14
14
use Yiisoft \DataResponse \Tests \Stub \LoopDataResponseFormatter ;
15
+ use Yiisoft \DataResponse \Tests \Stub \RecursiveDataResponseFormatter ;
15
16
use Yiisoft \Http \Header ;
16
17
use Yiisoft \Http \Status ;
17
18
@@ -41,6 +42,16 @@ public function testChangeResponseData(): void
41
42
$ this ->assertSame ('test-changed ' , $ dataResponse ->getBody ()->getContents ());
42
43
}
43
44
45
+ public function testChangeResponseDataWithFormatter (): void
46
+ {
47
+ $ dataResponse = $ this ->createFactory ()->createResponse ('test-value ' );
48
+ $ dataResponse = $ dataResponse ->withResponseFormatter (new JsonDataResponseFormatter ());
49
+ $ dataResponse = $ dataResponse ->withData ('new-test-value ' );
50
+ $ dataResponse ->getBody ()->rewind ();
51
+
52
+ $ this ->assertSame ('"new-test-value" ' , $ dataResponse ->getBody ()->getContents ());
53
+ }
54
+
44
55
public function testSetResponseFormatter (): void
45
56
{
46
57
$ dataResponse = $ this ->createFactory ()->createResponse ('test ' );
@@ -95,7 +106,6 @@ public function testGetHeader(): void
95
106
{
96
107
$ dataResponse = $ this ->createFactory ()->createResponse ();
97
108
$ dataResponse = $ dataResponse ->withResponseFormatter (new JsonDataResponseFormatter ());
98
- $ dataResponse ->getBody ()->rewind ();
99
109
100
110
$ this ->assertEquals (['application/json ' ], $ dataResponse ->getHeader (Header::CONTENT_TYPE ));
101
111
}
@@ -104,7 +114,6 @@ public function testGetHeaderLine(): void
104
114
{
105
115
$ dataResponse = $ this ->createFactory ()->createResponse ();
106
116
$ dataResponse = $ dataResponse ->withResponseFormatter (new JsonDataResponseFormatter ());
107
- $ dataResponse ->getBody ()->rewind ();
108
117
109
118
$ this ->assertEquals ('application/json ' , $ dataResponse ->getHeaderLine (Header::CONTENT_TYPE ));
110
119
}
@@ -113,7 +122,6 @@ public function testGetHeaders(): void
113
122
{
114
123
$ dataResponse = $ this ->createFactory ()->createResponse ();
115
124
$ dataResponse = $ dataResponse ->withResponseFormatter (new JsonDataResponseFormatter ());
116
- $ dataResponse ->getBody ()->rewind ();
117
125
118
126
$ this ->assertEquals ([Header::CONTENT_TYPE => ['application/json ' ]], $ dataResponse ->getHeaders ());
119
127
}
@@ -122,7 +130,6 @@ public function testHasHeader(): void
122
130
{
123
131
$ dataResponse = $ this ->createFactory ()->createResponse ();
124
132
$ dataResponse = $ dataResponse ->withResponseFormatter (new JsonDataResponseFormatter ());
125
- $ dataResponse ->getBody ()->rewind ();
126
133
127
134
$ this ->assertTrue ($ dataResponse ->hasHeader (Header::CONTENT_TYPE ));
128
135
$ this ->assertFalse ($ dataResponse ->hasHeader (Header::ACCEPT_LANGUAGE ));
@@ -132,7 +139,6 @@ public function testWithoutHeader(): void
132
139
{
133
140
$ dataResponse = $ this ->createFactory ()->createResponse ();
134
141
$ dataResponse = $ dataResponse ->withResponseFormatter (new JsonDataResponseFormatter ());
135
- $ dataResponse ->getBody ()->rewind ();
136
142
$ dataResponse = $ dataResponse ->withoutHeader (Header::CONTENT_TYPE );
137
143
$ this ->assertFalse ($ dataResponse ->hasHeader (Header::CONTENT_TYPE ));
138
144
}
@@ -142,8 +148,6 @@ public function testWithHeader(): void
142
148
$ dataResponse = $ this ->createFactory ()->createResponse ()
143
149
->withHeader (Header::CONTENT_TYPE , 'application/json ' );
144
150
145
- $ dataResponse ->getBody ()->rewind ();
146
-
147
151
$ this ->assertEquals (['Content-Type ' => ['application/json ' ]], $ dataResponse ->getHeaders ());
148
152
}
149
153
@@ -153,8 +157,6 @@ public function testWithAddedHeader(): void
153
157
->withHeader (Header::CONTENT_TYPE , 'application/json ' )
154
158
->withAddedHeader (Header::CONTENT_TYPE , 'application/xml ' );
155
159
156
- $ dataResponse ->getBody ()->rewind ();
157
-
158
160
$ this ->assertEquals (['Content-Type ' => ['application/json ' , 'application/xml ' ]], $ dataResponse ->getHeaders ());
159
161
}
160
162
@@ -221,6 +223,14 @@ public function testHasDataWithEmptyData(): void
221
223
$ this ->assertFalse ($ dataResponse ->hasData ());
222
224
}
223
225
226
+ public function testSetResponseRecursiveFormatter (): void
227
+ {
228
+ $ dataResponse = new DataResponse ('test ' , Status::OK , '' , new Psr17Factory ());
229
+ $ dataResponse = $ dataResponse ->withResponseFormatter (new RecursiveDataResponseFormatter ());
230
+ $ dataResponse ->getBody ()->rewind ();
231
+ $ this ->assertTrue (true );
232
+ }
233
+
224
234
private function createFactory (): DataResponseFactory
225
235
{
226
236
return new DataResponseFactory (new Psr17Factory ());
0 commit comments