summaryrefslogtreecommitdiff
path: root/tests/feature
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@webtrees.net>2019-01-31 14:28:26 +0000
committerGreg Roach <fisharebest@webtrees.net>2019-01-31 19:45:07 +0000
commite5a6b4d4f6f6e7ff2fba7ae2cf27546ae68a79cc (patch)
tree6d3095048a00ab3941129f8f5231d4b9483776d2 /tests/feature
parent3c04ac885329c9488ff9db0a765e872bf41b9781 (diff)
downloadwebtrees-e5a6b4d4f6f6e7ff2fba7ae2cf27546ae68a79cc.tar.gz
webtrees-e5a6b4d4f6f6e7ff2fba7ae2cf27546ae68a79cc.tar.bz2
webtrees-e5a6b4d4f6f6e7ff2fba7ae2cf27546ae68a79cc.zip
Refactor class User - use NULL-object pattern for guests and temporary users, create UserService
Diffstat (limited to 'tests/feature')
-rw-r--r--tests/feature/EmbeddedVariablesTest.php32
-rw-r--r--tests/feature/ImportGedcomTest.php2
-rw-r--r--tests/feature/IndividualListTest.php14
-rw-r--r--tests/feature/UserAdminTest.php32
4 files changed, 54 insertions, 26 deletions
diff --git a/tests/feature/EmbeddedVariablesTest.php b/tests/feature/EmbeddedVariablesTest.php
index 157b8c0c9b..0f33bc58c6 100644
--- a/tests/feature/EmbeddedVariablesTest.php
+++ b/tests/feature/EmbeddedVariablesTest.php
@@ -17,22 +17,48 @@ declare(strict_types=1);
namespace Fisharebest\Webtrees;
+use Fisharebest\Webtrees\Services\ModuleService;
+use Fisharebest\Webtrees\Services\UserService;
+
/**
* Test the user functions
*
* @coversNothing
*/
-class ImportGedcomTest extends \Fisharebest\Webtrees\TestCase
+class EmbeddedVariablesTest extends TestCase
{
protected static $uses_database = true;
/**
* @return void
*/
- public function testImportTrees(): void
+ public function testAllEmbeddedVariables(): void
{
+ global $tree; // For Date::display()
+
$tree = $this->importTree('demo.ged');
- $this->assertSame(1, $tree->id());
+ $statistics = new Statistics(new ModuleService(), $tree, new UserService());
+
+ $text = $statistics->embedTags('#getAllTagsTable#');
+
+ $this->assertNotEquals('#getAllTagsTable#', $text);
+ }
+
+ /**
+ * @return void
+ */
+ public function testAllEmbeddedVariablesWithEmptyTree(): void
+ {
+ global $tree; // For Date::display()
+
+ $tree = Tree::create('name', 'title');
+ $tree->deleteGenealogyData(false);
+
+ $statistics = new Statistics(new ModuleService(), $tree, new UserService());
+
+ $text = $statistics->embedTags('#getAllTagsTable#');
+
+ $this->assertNotEquals('#getAllTagsTable#', $text);
}
}
diff --git a/tests/feature/ImportGedcomTest.php b/tests/feature/ImportGedcomTest.php
index 157b8c0c9b..d69c536f58 100644
--- a/tests/feature/ImportGedcomTest.php
+++ b/tests/feature/ImportGedcomTest.php
@@ -22,7 +22,7 @@ namespace Fisharebest\Webtrees;
*
* @coversNothing
*/
-class ImportGedcomTest extends \Fisharebest\Webtrees\TestCase
+class ImportGedcomTest extends TestCase
{
protected static $uses_database = true;
diff --git a/tests/feature/IndividualListTest.php b/tests/feature/IndividualListTest.php
index 3f2b645a72..d454034cf7 100644
--- a/tests/feature/IndividualListTest.php
+++ b/tests/feature/IndividualListTest.php
@@ -19,8 +19,6 @@ namespace Fisharebest\Webtrees;
use Fisharebest\Localization\Locale\LocaleEnUs;
use Fisharebest\Webtrees\Http\Controllers\ListController;
-use Fisharebest\Webtrees\Module\ModuleThemeInterface;
-use Fisharebest\Webtrees\Module\WebtreesTheme;
use Fisharebest\Webtrees\Services\IndividualListService;
use Fisharebest\Webtrees\Services\LocalizationService;
use Symfony\Component\HttpFoundation\Request;
@@ -31,7 +29,7 @@ use Symfony\Component\HttpFoundation\Response;
*
* @coversNothing
*/
-class IndividualListTest extends \Fisharebest\Webtrees\TestCase
+class IndividualListTest extends TestCase
{
protected static $uses_database = true;
@@ -53,23 +51,23 @@ class IndividualListTest extends \Fisharebest\Webtrees\TestCase
$individual_list_service = new IndividualListService($localization_service, $tree);
$controller = new ListController($individual_list_service, $localization_service);
- $request = new Request(['route' => 'individual-list']);
+ $request = new Request(['route' => 'individual-list']);
$response = $controller->individualList($request, $tree, $user);
$this->assertSame(Response::HTTP_OK, $response->getStatusCode());
- $request = new Request(['route' => 'individual-list', 'alpha' => 'B']);
+ $request = new Request(['route' => 'individual-list', 'alpha' => 'B']);
$response = $controller->individualList($request, $tree, $user);
$this->assertSame(Response::HTTP_OK, $response->getStatusCode());
- $request = new Request(['route' => 'individual-list', 'alpha' => ',']);
+ $request = new Request(['route' => 'individual-list', 'alpha' => ',']);
$response = $controller->individualList($request, $tree, $user);
$this->assertSame(Response::HTTP_OK, $response->getStatusCode());
- $request = new Request(['route' => 'individual-list', 'alpha' => '@']);
+ $request = new Request(['route' => 'individual-list', 'alpha' => '@']);
$response = $controller->individualList($request, $tree, $user);
$this->assertSame(Response::HTTP_OK, $response->getStatusCode());
- $request = new Request(['route' => 'individual-list', 'surname' => 'BRAUN']);
+ $request = new Request(['route' => 'individual-list', 'surname' => 'BRAUN']);
$response = $controller->individualList($request, $tree, $user);
$this->assertSame(Response::HTTP_OK, $response->getStatusCode());
}
diff --git a/tests/feature/UserAdminTest.php b/tests/feature/UserAdminTest.php
index a8f91b8222..2733ade15b 100644
--- a/tests/feature/UserAdminTest.php
+++ b/tests/feature/UserAdminTest.php
@@ -18,13 +18,13 @@ declare(strict_types=1);
namespace Fisharebest\Webtrees;
use Fisharebest\Webtrees\Http\Controllers\AdminUsersController;
-use Fisharebest\Webtrees\Services\DatatablesService;
+use Fisharebest\Webtrees\Services\UserService;
use Symfony\Component\HttpFoundation\Request;
/**
* Test the user administration pages
*/
-class UserAdminTest extends \Fisharebest\Webtrees\TestCase
+class UserAdminTest extends TestCase
{
protected static $uses_database = true;
@@ -35,8 +35,9 @@ class UserAdminTest extends \Fisharebest\Webtrees\TestCase
*/
public function testUserDetailsAreShownOnUserAdminPage(): void
{
- $admin = User::create('AdminName', 'Administrator', 'admin@example.com', 'secret');
- $user = User::create('UserName', 'RealName', 'user@example.com', 'secret');
+ $user_service = new UserService();
+ $user_service->create('AdminName', 'Administrator', 'admin@example.com', 'secret');
+ $user_service->create('UserName', 'RealName', 'user@example.com', 'secret');
$controller = app()->make(AdminUsersController::class);
$response = app()->dispatch($controller, 'data');
@@ -56,8 +57,9 @@ class UserAdminTest extends \Fisharebest\Webtrees\TestCase
*/
public function testFilteringUserAdminPage(): void
{
- $admin = User::create('AdminName', 'Administrator', 'admin@example.com', 'secret');
- $user = User::create('UserName', 'RealName', 'user@example.com', 'secret');
+ $user_service = new UserService();
+ $user_service->create('AdminName', 'Administrator', 'admin@example.com', 'secret');
+ $user_service->create('UserName', 'RealName', 'user@example.com', 'secret');
$request = new Request(['search' => ['value' => 'admin']]);
app()->instance(Request::class, $request);
@@ -79,8 +81,9 @@ class UserAdminTest extends \Fisharebest\Webtrees\TestCase
*/
public function testPaginatingUserAdminPage(): void
{
- $admin = User::create('AdminName', 'Administrator', 'admin@example.com', 'secret');
- $user = User::create('UserName', 'RealName', 'user@example.com', 'secret');
+ $user_service = new UserService();
+ $user_service->create('AdminName', 'Administrator', 'admin@example.com', 'secret');
+ $user_service->create('UserName', 'RealName', 'user@example.com', 'secret');
$request = new Request(['length' => 1]);
app()->instance(Request::class, $request);
@@ -98,16 +101,17 @@ class UserAdminTest extends \Fisharebest\Webtrees\TestCase
*/
public function testSortingUserAdminPage(): void
{
- $admin = User::create('AdminName', 'Administrator', 'admin@example.com', 'secret');
- $user = User::create('UserName', 'RealName', 'user@example.com', 'secret');
+ $user_service = new UserService();
+ $user_service->create('AdminName', 'Administrator', 'admin@example.com', 'secret');
+ $user_service->create('UserName', 'RealName', 'user@example.com', 'secret');
$request = new Request(['order' => [['column' => 2, 'dir' => 'asc']]]);
app()->instance(Request::class, $request);
$controller = app()->make(AdminUsersController::class);
$response = app()->dispatch($controller, 'data');
- $pos1 = strpos($response->getContent(), 'AdminName');
- $pos2 = strpos($response->getContent(), 'UserName');
+ $pos1 = strpos($response->getContent(), 'AdminName');
+ $pos2 = strpos($response->getContent(), 'UserName');
$this->assertLessThan($pos2, $pos1);
$request = new Request(['order' => [['column' => 2, 'dir' => 'desc']]]);
@@ -115,8 +119,8 @@ class UserAdminTest extends \Fisharebest\Webtrees\TestCase
$controller = app()->make(AdminUsersController::class);
$response = app()->dispatch($controller, 'data');
- $pos1 = strpos($response->getContent(), 'AdminName');
- $pos2 = strpos($response->getContent(), 'UserName');
+ $pos1 = strpos($response->getContent(), 'AdminName');
+ $pos2 = strpos($response->getContent(), 'UserName');
$this->assertGreaterThan($pos2, $pos1);
}
}