@@ -160,4 +160,27 @@ public function toArray()
160
160
$ this ->assertSame ('/user/123 ' , $ page ->url );
161
161
$ this ->assertSame ('123 ' , $ page ->version );
162
162
}
163
+
164
+ public function test_xhr_partial_response ()
165
+ {
166
+ $ request = Request::create ('/user/123 ' , 'GET ' );
167
+ $ request ->headers ->add (['X-Inertia ' => 'true ' ]);
168
+ $ request ->headers ->add (['X-Inertia-Partial-Component ' => 'User/Edit ' ]);
169
+ $ request ->headers ->add (['X-Inertia-Partial-Data ' => 'partial ' ]);
170
+
171
+ $ user = (object ) ['name ' => 'Jonathan ' ];
172
+ $ response = new Response ('User/Edit ' , ['user ' => $ user , 'partial ' => 'partial-data ' ], 'app ' , '123 ' );
173
+ $ response = $ response ->toResponse ($ request );
174
+ $ page = $ response ->getData ();
175
+
176
+ $ props = get_object_vars ($ page ->props );
177
+
178
+ $ this ->assertInstanceOf (JsonResponse::class, $ response );
179
+ $ this ->assertSame ('User/Edit ' , $ page ->component );
180
+ $ this ->assertFalse (isset ($ props ['user ' ]));
181
+ $ this ->assertCount (1 , $ props );
182
+ $ this ->assertSame ('partial-data ' , $ page ->props ->partial );
183
+ $ this ->assertSame ('/user/123 ' , $ page ->url );
184
+ $ this ->assertSame ('123 ' , $ page ->version );
185
+ }
163
186
}
0 commit comments