pinned(0)->create(['content_type' => Article::CONTENT_TYPE_BLOG]); Article::factory()->pinned(1)->create(['content_type' => Article::CONTENT_TYPE_NOTICE]); Article::factory()->create(['content_type' => Article::CONTENT_TYPE_BLOG]); Article::factory()->create(['content_type' => Article::CONTENT_TYPE_NOTICE]); Article::factory()->create(['content_type' => Article::CONTENT_TYPE_DOCUMENT]); Article::factory()->create(['content_type' => Article::CONTENT_TYPE_RELATED_NEWS]); $about = Page::factory()->create(['slug' => 'about']); $this->getJson('/api/v1/homepage') ->assertOk() ->assertJsonStructure([ 'featured' => [ '*' => ['id', 'title', 'slug', 'content_type'], ], 'latest_blog' => [ '*' => ['id', 'title', 'slug', 'content_type'], ], 'latest_notice' => [ '*' => ['id', 'title', 'slug', 'content_type'], ], 'latest_document' => [ '*' => ['id', 'title', 'slug', 'content_type'], ], 'latest_related_news' => [ '*' => ['id', 'title', 'slug', 'content_type'], ], 'about' => ['id', 'slug', 'content'], 'categories' => [ '*' => ['id', 'name', 'slug'], ], ]) ->assertJsonPath('about.slug', $about->slug); } }