summaryrefslogtreecommitdiff
path: root/tests/feature
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@webtrees.net>2019-01-10 13:51:33 +0000
committerGreg Roach <fisharebest@webtrees.net>2019-01-10 13:51:33 +0000
commitb9fc687ee64c25c03bd25639aef98fa55fcf7dc7 (patch)
tree59118423d7083eeaab4acb996a28c16c9fa13053 /tests/feature
parente9e853987811e8bd423dccf26f6ef57571f393eb (diff)
downloadwebtrees-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.php48
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());
}
}