From 2f1ef2fdfc740873e66b352fcda1cfae425b0580 Mon Sep 17 00:00:00 2001 From: nala Date: Fri, 13 Nov 2026 21:14:25 +0200 Subject: [PATCH] Align quick search with current financial directory while retaining historical records --- app/Http/Controllers/GlobalSearchController.php | 2 +- tests/Feature/GlobalSearchCountTest.php | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/GlobalSearchController.php b/app/Http/Controllers/GlobalSearchController.php index 6a0b08f2..5d3c9f2a 100644 --- a/app/Http/Controllers/GlobalSearchController.php +++ b/app/Http/Controllers/GlobalSearchController.php @@ -56,7 +56,7 @@ class GlobalSearchController extends Controller if (! $service->installed()) { return ['count' => 0, 'fetch' => fn ($offset, $limit) => []]; } - $query = $service->publicQuery()->select('p.id', 'v.payload')->selectRaw("v.payload->>'title' AS title"); + $query = $service->catalogueQuery([])->select('p.id', 'v.payload')->selectRaw("v.payload->>'title' AS title"); foreach ($tokens as $token) { $query->where(function ($match) use ($search, $token) { $search->orFields($match, ["(v.payload->>'title')", diff --git a/tests/Feature/GlobalSearchCountTest.php b/tests/Feature/GlobalSearchCountTest.php index 6c80befd..3f87bf47 100644 --- a/tests/Feature/GlobalSearchCountTest.php +++ b/tests/Feature/GlobalSearchCountTest.php @@ -56,11 +56,12 @@ final class GlobalSearchCountTest extends TestCase } $actor = User::factory()->create(); $marker = 'SYNTHFIN'.Str::random(8); - foreach (['published', 'draft', 'future'] as $state) { + foreach (['published', 'draft', 'future', 'historical', 'merged'] as $state) { $id = (string) Str::uuid(); $version = (string) Str::uuid(); $payload = json_encode(['title' => $marker.' '.$state, 'kind' => 'institution', 'summary' => 'Nota de preparação: ficha e documento gerador.', 'institution_nature' => 'bank', 'institution_services' => ['investment'], + 'institution_status' => in_array($state, ['historical', 'merged'], true) ? $state : 'reported', 'locations' => [['location_text' => 'Nampula']], 'products' => [['title' => 'Crédito PME', 'coverage' => 'national', 'needs' => ['investment']]]], JSON_THROW_ON_ERROR); DB::table('funding_programmes')->insert(['id' => $id, 'code' => $marker.$state, 'draft' => $payload, 'created_by' => $actor->id]); DB::table('funding_programme_versions')->insert(['id' => $version, 'programme_id' => $id, 'version' => 1, 'payload' => $payload,