for(Video::factory()) ->for(AnimeThemeEntry::factory()->for(AnimeTheme::factory()->for(Anime::factory()))) ->createOne(); Config::set(WikiConstants::FEATURED_ENTRY_SETTING_QUALIFIED, $pivot->entry_id); Config::set(WikiConstants::FEATURED_VIDEO_SETTING_QUALIFIED, $pivot->video_id); $response = $this->get(route('api.config.wiki.show')); $response->assertJson( json_decode( json_encode( (new WikiResource(new Query())) ->response() ->getData() ), true ) ); } /** * The Wiki Show Endpoint shall implement sparse fieldsets. * * @return void */ public function testSparseFieldsets(): void { $pivot = AnimeThemeEntryVideo::factory() ->for(Video::factory()) ->for(AnimeThemeEntry::factory()->for(AnimeTheme::factory()->for(Anime::factory()))) ->createOne(); Config::set(WikiConstants::FEATURED_ENTRY_SETTING_QUALIFIED, $pivot->entry_id); Config::set(WikiConstants::FEATURED_VIDEO_SETTING_QUALIFIED, $pivot->video_id); $schema = new WikiSchema(); $fields = collect($schema->fields()); $includedFields = $fields->random($this->faker->numberBetween(1, $fields->count())); $parameters = [ FieldParser::param() => [ WikiResource::$wrap => $includedFields->map(fn (Field $field) => $field->getKey())->join(','), ], ]; $response = $this->get(route('api.config.wiki.show')); $response->assertJson( json_decode( json_encode( (new WikiResource(new Query($parameters))) ->response() ->getData() ), true ) ); } }