create(['title' => 'A', 'content' => 'B', 'allowed_actions' => []]); $ticket = Ticket::query()->create(['message' => 'vraag']); $record = $service->executeRequestedTool($ticket, $article, [ 'action' => 'domain_inf', 'parameters' => ['sld' => 'example', 'tld' => 'nl'], ]); $this->assertNotNull($record); $this->assertSame('skipped', $record->status); } public function test_it_executes_domain_info_when_allowed_and_credentials_present(): void { $fakeTool = new FakeDomainInfoTool; $service = new TicketToolCallService($fakeTool, new FakeTicketProcessingLoggerService); $article = Article::query()->create(['title' => 'A', 'content' => 'B', 'allowed_actions' => ['domain_inf']]); $ticket = Ticket::query()->create([ 'message' => 'vraag', 'api_credentials' => ['apiuser' => 'u', 'apipassword' => 'p'], ]); $record = $service->executeRequestedTool($ticket, $article, [ 'action' => 'domain_inf', 'parameters' => ['sld' => 'example', 'tld' => 'nl'], ]); $this->assertNotNull($record); $this->assertSame('success', $record->status); $this->assertCount(1, $fakeTool->calls); } }