<?php
declare(strict_types=1);
require dirname(__DIR__) . '/src/autoload.php';
$service = file_get_contents(dirname(__DIR__) . '/src/ReportService.php');
$kernel = file_get_contents(dirname(__DIR__) . '/src/Kernel.php');
assert(is_string($service) && is_string($kernel));
assert(str_contains($service, 'public function list(string $tenant, ?string $status, string $search'));
assert(str_contains($service, 'tenant_id = ? AND deleted_at IS NULL'));
assert(str_contains($service, 'ORDER BY updated_at DESC'));
assert(str_contains($service, 'JSON_EXTRACT'));
assert(str_contains($service, "'total' => \$total"));
assert(str_contains($service, 'public function delete(string $tenant'));
assert(str_contains($service, 'Finalized report is immutable.'));
assert(str_contains($kernel, "path==='/api/v1/reports'"));
assert(str_contains($kernel, "\$request->method==='DELETE'"));
assert(str_contains($kernel, '$service->list($tenant,$status,$search,$page,$limit)'));
fwrite(STDOUT, "reports_list_contract: OK\n");
