create(['title' => 'Draft Service', 'is_featured' => true, 'published_at' => null]); Service::factory()->published()->create(['title' => 'Published Not Featured', 'is_featured' => false, 'sort_order' => 1]); $serviceB = Service::factory()->published()->featured()->create(['title' => 'Featured B', 'sort_order' => 20]); $serviceA = Service::factory()->published()->featured()->create(['title' => 'Featured A', 'sort_order' => 10]); PortfolioCase::factory()->create(['title' => 'Draft Case', 'is_featured' => true, 'published_at' => null]); $caseB = PortfolioCase::factory()->published()->create(['title' => 'Case B', 'is_featured' => true, 'sort_order' => 20]); $caseA = PortfolioCase::factory()->published()->create(['title' => 'Case A', 'is_featured' => true, 'sort_order' => 10]); Testimonial::factory()->create(['author_name' => 'Draft Author', 'published_at' => null]); $testimonialB = Testimonial::factory()->published()->create(['author_name' => 'Author B', 'sort_order' => 20]); $testimonialA = Testimonial::factory()->published()->create(['author_name' => 'Author A', 'sort_order' => 10]); $content = (new GetHomeContent)(); $this->assertTrue($content->settings->is($settings)); $this->assertCount(2, $content->featuredServices); $this->assertTrue($content->featuredServices->get(0)?->is($serviceA)); $this->assertTrue($content->featuredServices->get(1)?->is($serviceB)); $this->assertCount(2, $content->featuredCases); $this->assertTrue($content->featuredCases->get(0)?->is($caseA)); $this->assertTrue($content->featuredCases->get(1)?->is($caseB)); $this->assertTrue($content->featuredCases->get(0)?->relationLoaded('images')); $this->assertCount(2, $content->testimonials); $this->assertTrue($content->testimonials->get(0)?->is($testimonialA)); $this->assertTrue($content->testimonials->get(1)?->is($testimonialB)); } }