66use Illuminate \Foundation \Testing \RefreshDatabase ;
77use Illuminate \Http \Request ;
88use Illuminate \Http \Resources \JsonApi \JsonApiResource ;
9+ use Illuminate \Http \Resources \Json \JsonResource ;
910use Orchestra \Testbench \Attributes \WithMigration ;
1011use Orchestra \Testbench \Factories \UserFactory ;
1112use Orchestra \Testbench \TestCase ;
@@ -20,10 +21,19 @@ class JsonApiResourceTest extends TestCase
2021protected function defineRoutes ($ router )
2122 {
2223$ router ->get ('users/{userId} ' ,function (Request $ request ,$ userId ) {
23- return new UserResource (User::find ($ userId ));
24+ return new UserApiResource (User::find ($ userId ));
2425 });
2526 }
2627
28+ public function testBaseJsonResourceCanBeConvertedToJsonApiResource ()
29+ {
30+ $ user = UserFactory::new ()->create ();
31+
32+ $ resource = (new UserResource ($ user ))->asJsonApi ();
33+
34+ $ this ->assertInstanceOf (JsonApiResource::class,$ resource );
35+ }
36+
2737public function testItCanGenerateJsonApiResponse ()
2838 {
2939$ user = UserFactory::new ()->create ();
@@ -48,9 +58,21 @@ public function testItCanGenerateJsonApiResponse()
4858
4959class Userextends Authenticatable
5060{
61+ //
62+ }
63+
64+ class UserResourceextends JsonResource
65+ {
66+ public function toArray (Request $ request )
67+ {
68+ return [
69+ 'name ' =>$ this ->name ,
70+ 'email ' =>$ this ->email ,
71+ ];
72+ }
5173}
5274
53- class UserResource extends JsonApiResource
75+ class UserApiResource extends JsonApiResource
5476{
5577public function toArray (Request $ request )
5678 {