1<?php 2 3/** 4 * webtrees: online genealogy 5 * Copyright (C) 2023 webtrees development team 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <https://www.gnu.org/licenses/>. 16 */ 17 18declare(strict_types=1); 19 20namespace Fisharebest\Webtrees\Services; 21 22use Fisharebest\Webtrees\TestCase; 23use Illuminate\Support\Collection; 24use PHPUnit\Framework\Attributes\CoversClass; 25 26 27#[CoversClass(SearchService::class)] 28class SearchServiceTest extends TestCase 29{ 30 protected static bool $uses_database = true; 31 32 public function testSearchesReturnCollections(): void 33 { 34 $tree_service = new TreeService(new GedcomImportService()); 35 $search_service = new SearchService($tree_service); 36 $tree = $this->importTree('demo.ged'); 37 38 $result = $search_service->searchFamilies([$tree], ['windsor']); 39 self::assertInstanceOf(Collection::class, $result); 40 41 $result = $search_service->searchFamilyNames([$tree], ['charles', 'diana']); 42 self::assertInstanceOf(Collection::class, $result); 43 44 $result = $search_service->searchIndividuals([$tree], ['windsor']); 45 self::assertInstanceOf(Collection::class, $result); 46 47 $result = $search_service->searchIndividualNames([$tree], ['windsor']); 48 self::assertInstanceOf(Collection::class, $result); 49 50 $result = $search_service->searchMedia([$tree], ['windsor']); 51 self::assertInstanceOf(Collection::class, $result); 52 53 $result = $search_service->searchNotes([$tree], ['windsor']); 54 self::assertInstanceOf(Collection::class, $result); 55 56 $result = $search_service->searchRepositories([$tree], ['national']); 57 self::assertInstanceOf(Collection::class, $result); 58 59 $result = $search_service->searchSources([$tree], ['england']); 60 self::assertInstanceOf(Collection::class, $result); 61 62 $result = $search_service->searchSourcesByName([$tree], ['england']); 63 self::assertInstanceOf(Collection::class, $result); 64 65 $result = $search_service->searchSubmitters([$tree], ['greg']); 66 self::assertInstanceOf(Collection::class, $result); 67 68 $result = $search_service->searchPlaces($tree, 'England'); 69 self::assertInstanceOf(Collection::class, $result); 70 } 71} 72