summaryrefslogtreecommitdiff
path: root/tests/feature
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@webtrees.net>2019-01-03 15:11:13 +0000
committerGreg Roach <fisharebest@webtrees.net>2019-01-03 15:11:13 +0000
commit0bc9ba4250b1549e85ea08bf98e2ab0f60fc5c4b (patch)
tree63de03625db9c8e53cbf21a89cc6185a14ac4758 /tests/feature
parentd346cc1c7558263f3862d4f0b4163a38490548ea (diff)
downloadwebtrees-0bc9ba4250b1549e85ea08bf98e2ab0f60fc5c4b.tar.gz
webtrees-0bc9ba4250b1549e85ea08bf98e2ab0f60fc5c4b.tar.bz2
webtrees-0bc9ba4250b1549e85ea08bf98e2ab0f60fc5c4b.zip
Tests
Diffstat (limited to 'tests/feature')
-rw-r--r--tests/feature/UserAdminTest.php66
1 files changed, 64 insertions, 2 deletions
diff --git a/tests/feature/UserAdminTest.php b/tests/feature/UserAdminTest.php
index 9fef4c321e..8d9c050c46 100644
--- a/tests/feature/UserAdminTest.php
+++ b/tests/feature/UserAdminTest.php
@@ -33,7 +33,7 @@ class UserAdminTest extends \Fisharebest\Webtrees\TestCase
* @covers \Fisharebest\Webtrees\Services\DatatablesService
* @return void
*/
- public function testUserNameAndRealNameAreShownOnUserAdminPage(): void
+ public function testUserDetailsAreShownOnUserAdminPage(): void
{
$admin = User::create('AdminName', 'Administrator', 'admin@example.com', 'secret');
$user = User::create('UserName', 'RealName', 'user@example.com', 'secret');
@@ -45,15 +45,77 @@ class UserAdminTest extends \Fisharebest\Webtrees\TestCase
$this->assertContains('AdminName', $response->getContent());
$this->assertContains('Administrator', $response->getContent());
+ $this->assertContains('admin@example.com', $response->getContent());
$this->assertContains('UserName', $response->getContent());
$this->assertContains('RealName', $response->getContent());
+ $this->assertContains('user@example.com', $response->getContent());
+ }
- // And if we filter by "admin", the regular user is not shown.
+ /**
+ * @covers \Fisharebest\Webtrees\Http\Controllers\AdminUsersController
+ * @covers \Fisharebest\Webtrees\Services\DatatablesService
+ * @return void
+ */
+ public function testFilteringUserAdminPage(): void
+ {
+ $admin = User::create('AdminName', 'Administrator', 'admin@example.com', 'secret');
+ $user = User::create('UserName', 'RealName', 'user@example.com', 'secret');
+
+ $controller = new AdminUsersController();
+ $datatables_service = new DatatablesService();
$request = new Request(['search' => ['value' => 'admin']]);
$response = $controller->data($datatables_service, $request, $admin);
+
$this->assertContains('AdminName', $response->getContent());
$this->assertContains('Administrator', $response->getContent());
+ $this->assertContains('admin@example.com', $response->getContent());
$this->assertNotContains('UserName', $response->getContent());
$this->assertNotContains('RealName', $response->getContent());
+ $this->assertNotContains('user@example.com', $response->getContent());
+ }
+
+ /**
+ * @covers \Fisharebest\Webtrees\Http\Controllers\AdminUsersController
+ * @covers \Fisharebest\Webtrees\Services\DatatablesService
+ * @return void
+ */
+ public function testPaginatingUserAdminPage(): void
+ {
+ $admin = User::create('AdminName', 'Administrator', 'admin@example.com', 'secret');
+ $user = User::create('UserName', 'RealName', 'user@example.com', 'secret');
+
+ $controller = new AdminUsersController();
+ $datatables_service = new DatatablesService();
+ $request = new Request(['length' => 1]);
+ $response = $controller->data($datatables_service, $request, $admin);
+
+ $this->assertContains('AdminName', $response->getContent());
+ $this->assertNotContains('UserName', $response->getContent());
+ }
+
+ /**
+ * @covers \Fisharebest\Webtrees\Http\Controllers\AdminUsersController
+ * @covers \Fisharebest\Webtrees\Services\DatatablesService
+ * @return void
+ */
+ public function testSortingUserAdminPage(): void
+ {
+ $admin = User::create('AdminName', 'Administrator', 'admin@example.com', 'secret');
+ $user = User::create('UserName', 'RealName', 'user@example.com', 'secret');
+
+ $controller = new AdminUsersController();
+ $datatables_service = new DatatablesService();
+
+ $request = new Request(['order' => [['column' => 2, 'dir' => 'asc']]]);
+ $response = $controller->data($datatables_service, $request, $admin);
+ $pos1 = strpos($response->getContent(), 'AdminName');
+ $pos2 = strpos($response->getContent(), 'UserName');
+ $this->assertLessThan($pos2, $pos1);
+
+ $request = new Request(['order' => [['column' => 2, 'dir' => 'desc']]]);
+ $response = $controller->data($datatables_service, $request, $admin);
+ $pos1 = strpos($response->getContent(), 'AdminName');
+ $pos2 = strpos($response->getContent(), 'UserName');
+ $this->assertGreaterThan($pos2, $pos1);
}
}