diff --git a/app/Client/Resources/DomainsResource.php b/app/Client/Resources/DomainsResource.php index 8aa011a..6bdd443 100644 --- a/app/Client/Resources/DomainsResource.php +++ b/app/Client/Resources/DomainsResource.php @@ -60,4 +60,9 @@ public function verify(string $domainId): Domain return $request->createDtoFromResponse($response); } + + public function withDefaultIncludes(): static + { + return $this->include('environment'); + } } diff --git a/tests/Feature/RequestedIncludesTest.php b/tests/Feature/RequestedIncludesTest.php index 0f925a6..66bdc1f 100644 --- a/tests/Feature/RequestedIncludesTest.php +++ b/tests/Feature/RequestedIncludesTest.php @@ -198,3 +198,19 @@ function connectorWith(MockClient $mockClient): Connector expect($application->server?->id)->toBe('wss-1'); })->with(['get', 'list']); + +it('fills the environment of a domain', function (string $method) { + $connector = connectorWith(new MockClient([ + respondWithRequestedIncludes( + ['id' => 'domain-1', 'type' => 'domains', 'attributes' => ['name' => 'example.com']], + ['environment' => ['id' => 'env-1', 'type' => 'environments']], + single: $method === 'get', + ), + ])); + + $domain = $method === 'get' + ? $connector->domains()->get('domain-1') + : $connector->domains()->list('env-1')->collect()->first(); + + expect($domain->environmentId)->toBe('env-1'); +})->with(['get', 'list']);