diff options
| author | Greg Roach <fisharebest@webtrees.net> | 2019-01-10 13:51:33 +0000 |
|---|---|---|
| committer | Greg Roach <fisharebest@webtrees.net> | 2019-01-10 13:51:33 +0000 |
| commit | b9fc687ee64c25c03bd25639aef98fa55fcf7dc7 (patch) | |
| tree | 59118423d7083eeaab4acb996a28c16c9fa13053 /tests/feature | |
| parent | e9e853987811e8bd423dccf26f6ef57571f393eb (diff) | |
| download | webtrees-b9fc687ee64c25c03bd25639aef98fa55fcf7dc7.tar.gz webtrees-b9fc687ee64c25c03bd25639aef98fa55fcf7dc7.tar.bz2 webtrees-b9fc687ee64c25c03bd25639aef98fa55fcf7dc7.zip | |
Experimenting with feature tests
Diffstat (limited to 'tests/feature')
| -rw-r--r-- | tests/feature/IndividualListTest.php | 48 |
1 files changed, 44 insertions, 4 deletions
diff --git a/tests/feature/IndividualListTest.php b/tests/feature/IndividualListTest.php index 157b8c0c9b..3e2d2f503b 100644 --- a/tests/feature/IndividualListTest.php +++ b/tests/feature/IndividualListTest.php @@ -17,22 +17,62 @@ declare(strict_types=1); namespace Fisharebest\Webtrees; +use Fisharebest\Localization\Locale\LocaleEnUs; +use Fisharebest\Webtrees\Http\Controllers\ListController; +use Fisharebest\Webtrees\Services\IndividualListService; +use Fisharebest\Webtrees\Services\LocalizationService; +use Fisharebest\Webtrees\Theme\WebtreesTheme; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; + /** - * Test the user functions + * Test the individual lists. * * @coversNothing */ -class ImportGedcomTest extends \Fisharebest\Webtrees\TestCase +class IndividualListTest extends \Fisharebest\Webtrees\TestCase { protected static $uses_database = true; /** + * @covers \Fisharebest\Webtrees\Http\Controllers\ListController * @return void */ - public function testImportTrees(): void + public function testIndividualList(): void { + // Needed for Date::display() + global $tree; + $tree = $this->importTree('demo.ged'); + $user = Auth::user(); + + $localization_service = new LocalizationService(new LocaleEnUs()); + $individual_list_service = new IndividualListService($localization_service, $tree); + $controller = new ListController($individual_list_service, $localization_service); + + $request = new Request(['route' => 'individual-list']); + Theme::theme(new WebtreesTheme())->init(new Request, $tree); + $response = $controller->individualList($request, $tree, $user); + $this->assertSame(Response::HTTP_OK, $response->getStatusCode()); + + $request = new Request(['route' => 'individual-list', 'alpha' => 'B']); + Theme::theme(new WebtreesTheme())->init(new Request, $tree); + $response = $controller->individualList($request, $tree, $user); + $this->assertSame(Response::HTTP_OK, $response->getStatusCode()); + + $request = new Request(['route' => 'individual-list', 'alpha' => ',']); + Theme::theme(new WebtreesTheme())->init(new Request, $tree); + $response = $controller->individualList($request, $tree, $user); + $this->assertSame(Response::HTTP_OK, $response->getStatusCode()); + + $request = new Request(['route' => 'individual-list', 'alpha' => '@']); + Theme::theme(new WebtreesTheme())->init(new Request, $tree); + $response = $controller->individualList($request, $tree, $user); + $this->assertSame(Response::HTTP_OK, $response->getStatusCode()); - $this->assertSame(1, $tree->id()); + $request = new Request(['route' => 'individual-list', 'surname' => 'BRAUN']); + Theme::theme(new WebtreesTheme())->init(new Request, $tree); + $response = $controller->individualList($request, $tree, $user); + $this->assertSame(Response::HTTP_OK, $response->getStatusCode()); } } |
