xref: /webtrees/tests/app/Http/RequestHandlers/DataFixDataTest.php (revision 5a8afed46297e8105e3e5a33ce37e6a8e88bc79d)
15062b1caSJonathan Jaubart<?php
25062b1caSJonathan Jaubart
35062b1caSJonathan Jaubart/**
45062b1caSJonathan Jaubart * webtrees: online genealogy
5d11be702SGreg Roach * Copyright (C) 2023 webtrees development team
65062b1caSJonathan Jaubart * This program is free software: you can redistribute it and/or modify
75062b1caSJonathan Jaubart * it under the terms of the GNU General Public License as published by
85062b1caSJonathan Jaubart * the Free Software Foundation, either version 3 of the License, or
95062b1caSJonathan Jaubart * (at your option) any later version.
105062b1caSJonathan Jaubart * This program is distributed in the hope that it will be useful,
115062b1caSJonathan Jaubart * but WITHOUT ANY WARRANTY; without even the implied warranty of
125062b1caSJonathan Jaubart * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
135062b1caSJonathan Jaubart * GNU General Public License for more details.
145062b1caSJonathan Jaubart * You should have received a copy of the GNU General Public License
155062b1caSJonathan Jaubart * along with this program. If not, see <https://www.gnu.org/licenses/>.
165062b1caSJonathan Jaubart */
175062b1caSJonathan Jaubart
185062b1caSJonathan Jaubartdeclare(strict_types=1);
195062b1caSJonathan Jaubart
205062b1caSJonathan Jaubartnamespace Fisharebest\Webtrees\Http\RequestHandlers;
215062b1caSJonathan Jaubart
225062b1caSJonathan Jaubartuse Fig\Http\Message\RequestMethodInterface;
235062b1caSJonathan Jaubartuse Fig\Http\Message\StatusCodeInterface;
245062b1caSJonathan Jaubartuse Fisharebest\Webtrees\Individual;
25*202c018bSGreg Roachuse Fisharebest\Webtrees\Module\FixSearchAndReplace;
265062b1caSJonathan Jaubartuse Fisharebest\Webtrees\Services\DataFixService;
275062b1caSJonathan Jaubartuse Fisharebest\Webtrees\Services\DatatablesService;
282c685d76SGreg Roachuse Fisharebest\Webtrees\Services\GedcomImportService;
295062b1caSJonathan Jaubartuse Fisharebest\Webtrees\Services\ModuleService;
305062b1caSJonathan Jaubartuse Fisharebest\Webtrees\Services\TreeService;
312c685d76SGreg Roachuse Fisharebest\Webtrees\TestCase;
32*202c018bSGreg Roachuse PHPUnit\Framework\Attributes\CoversClass;
335062b1caSJonathan Jaubart
34*202c018bSGreg Roach#[CoversClass(DataFixData::class)]
35*202c018bSGreg Roach#[CoversClass(FixSearchAndReplace::class)]
365062b1caSJonathan Jaubartclass DataFixDataTest extends TestCase
375062b1caSJonathan Jaubart{
38cd94ca66SGreg Roach    protected static bool $uses_database = true;
395062b1caSJonathan Jaubart
405062b1caSJonathan Jaubart    /**
415062b1caSJonathan Jaubart     * Test request handler
425062b1caSJonathan Jaubart     */
435062b1caSJonathan Jaubart    public function testHandlerForFixSearchAndReplace(): void
445062b1caSJonathan Jaubart    {
452c685d76SGreg Roach        $gedcom_import_service = new GedcomImportService();
462c685d76SGreg Roach        $tree_service          = new TreeService($gedcom_import_service);
475062b1caSJonathan Jaubart        $tree                  = $tree_service->create('name', 'title');
485062b1caSJonathan Jaubart
495062b1caSJonathan Jaubart        $data_fix_service = new DataFixService();
505062b1caSJonathan Jaubart        $datatables_service = new DatatablesService();
515062b1caSJonathan Jaubart        $module_service = new ModuleService();
525062b1caSJonathan Jaubart
535062b1caSJonathan Jaubart        $handler = new DataFixData($data_fix_service, $datatables_service, $module_service);
545062b1caSJonathan Jaubart
555062b1caSJonathan Jaubart        $request = self::createRequest(RequestMethodInterface::METHOD_GET, [
565062b1caSJonathan Jaubart                'type'       => Individual::RECORD_TYPE,
57748dbe15SGreg Roach                'search-for' => 'DOE',
585062b1caSJonathan Jaubart                'method'     => 'exact',
595062b1caSJonathan Jaubart                'case'       =>  ''
605062b1caSJonathan Jaubart            ])
615062b1caSJonathan Jaubart            ->withAttribute('tree', $tree)
625062b1caSJonathan Jaubart            ->withAttribute('data_fix', 'fix-search-and-replace');
635062b1caSJonathan Jaubart
645062b1caSJonathan Jaubart        $response = $handler->handle($request);
655062b1caSJonathan Jaubart
665062b1caSJonathan Jaubart        self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode());
675062b1caSJonathan Jaubart    }
685062b1caSJonathan Jaubart}
69