diff options
| author | Greg Roach <fisharebest@webtrees.net> | 2019-01-03 15:11:13 +0000 |
|---|---|---|
| committer | Greg Roach <fisharebest@webtrees.net> | 2019-01-03 15:11:13 +0000 |
| commit | 0bc9ba4250b1549e85ea08bf98e2ab0f60fc5c4b (patch) | |
| tree | 63de03625db9c8e53cbf21a89cc6185a14ac4758 /tests/feature | |
| parent | d346cc1c7558263f3862d4f0b4163a38490548ea (diff) | |
| download | webtrees-0bc9ba4250b1549e85ea08bf98e2ab0f60fc5c4b.tar.gz webtrees-0bc9ba4250b1549e85ea08bf98e2ab0f60fc5c4b.tar.bz2 webtrees-0bc9ba4250b1549e85ea08bf98e2ab0f60fc5c4b.zip | |
Tests
Diffstat (limited to 'tests/feature')
| -rw-r--r-- | tests/feature/UserAdminTest.php | 66 |
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); } } |
