getJson(route('content.feature-flags')); // Assert $response->assertStatus(200) ->assertJson([ 'self_hosted' => false, 'custom_domains' => true, 'ai_features' => true, 'billing' => [ 'enabled' => true, 'appsumo' => true, ], 'storage' => [ 'local' => false, 's3' => true, ], 'services' => [ 'unsplash' => true, 'google' => [ 'fonts' => true, 'auth' => true, ], ], 'integrations' => [ 'zapier' => true, 'google_sheets' => true, ], ]); }); it('caches feature flags', function () { // Arrange Cache::shouldReceive('remember') ->once() ->withArgs(function ($key, $ttl, $callback) { return $key === 'feature_flags' && $ttl === 3600 && is_callable($callback); }) ->andReturn(['some' => 'data']); // Act $controller = new FeatureFlagsController(); $response = $controller->index(); // Assert $this->assertEquals(['some' => 'data'], $response->getData(true)); });