From 152fcccd4489378a8ed9391e3e191df4aeba6435 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Fri, 30 Sep 2016 20:09:06 +0200 Subject: Add users management UI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - remove the “add a user” from the config page - add a CRUD on user - fix some missing translations (+ bad indentation) --- .../UserBundle/Controller/ManageControllerTest.php | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 tests/Wallabag/UserBundle/Controller/ManageControllerTest.php (limited to 'tests/Wallabag/UserBundle/Controller/ManageControllerTest.php') diff --git a/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php b/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php new file mode 100644 index 00000000..247eb6ba --- /dev/null +++ b/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php @@ -0,0 +1,71 @@ +getClient(); + + $client->request('GET', '/users/'); + + $this->assertEquals(302, $client->getResponse()->getStatusCode()); + $this->assertContains('login', $client->getResponse()->headers->get('location')); + } + + public function testCompleteScenario() + { + $this->logInAs('admin'); + $client = $this->getClient(); + + // Create a new user in the database + $crawler = $client->request('GET', '/users/'); + $this->assertEquals(200, $client->getResponse()->getStatusCode(), "Unexpected HTTP status code for GET /users/"); + $crawler = $client->click($crawler->selectLink('user.list.create_new_one')->link()); + + // Fill in the form and submit it + $form = $crawler->selectButton('user.form.save')->form(array( + 'new_user[username]' => 'test_user', + 'new_user[email]' => 'test@test.io', + 'new_user[plainPassword][first]' => 'test', + 'new_user[plainPassword][second]' => 'test', + )); + + $client->submit($form); + $client->followRedirect(); + $crawler = $client->request('GET', '/users/'); + + // Check data in the show view + $this->assertGreaterThan(0, $crawler->filter('td:contains("test_user")')->count(), 'Missing element td:contains("test_user")'); + + // Edit the user + $crawler = $client->click($crawler->selectLink('user.list.edit_action')->last()->link()); + + $form = $crawler->selectButton('user.form.save')->form(array( + 'user[name]' => 'Foo User', + 'user[username]' => 'test_user', + 'user[email]' => 'test@test.io', + 'user[enabled]' => true, + 'user[locked]' => false, + )); + + $client->submit($form); + $crawler = $client->followRedirect(); + + // Check the element contains an attribute with value equals "Foo User" + $this->assertGreaterThan(0, $crawler->filter('[value="Foo User"]')->count(), 'Missing element [value="Foo User"]'); + + $crawler = $client->request('GET', '/users/'); + $crawler = $client->click($crawler->selectLink('user.list.edit_action')->last()->link()); + + // Delete the user + $client->submit($crawler->selectButton('user.form.delete')->form()); + $crawler = $client->followRedirect(); + + // Check the user has been delete on the list + $this->assertNotRegExp('/Foo User/', $client->getResponse()->getContent()); + } +} -- cgit v1.2.3 From ccc7faec094387681a59faa5ca79a86e33f06972 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Sun, 2 Oct 2016 13:21:45 +0200 Subject: Disabled delete button for the logged user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To avoid some bad things to happen… --- tests/Wallabag/UserBundle/Controller/ManageControllerTest.php | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tests/Wallabag/UserBundle/Controller/ManageControllerTest.php') diff --git a/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php b/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php index 247eb6ba..19b824b8 100644 --- a/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php +++ b/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php @@ -68,4 +68,15 @@ class ManageControllerTest extends WallabagCoreTestCase // Check the user has been delete on the list $this->assertNotRegExp('/Foo User/', $client->getResponse()->getContent()); } + + public function testDeleteDisabledForLoggedUser() + { + $this->logInAs('admin'); + $client = $this->getClient(); + + $crawler = $client->request('GET', '/users/'.$this->getLoggedInUserId().'/edit'); + $disabled = $crawler->selectButton('user.form.delete')->extract('disabled'); + + $this->assertEquals('disabled', $disabled[0]); + } } -- cgit v1.2.3 From 5e7786f3c4f279f78ff80df53480e21b50c3396b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Fri, 7 Oct 2016 14:56:26 +0200 Subject: Fixed two-factor checkbox display in user admin panel Fix #2380 --- tests/Wallabag/UserBundle/Controller/ManageControllerTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/Wallabag/UserBundle/Controller/ManageControllerTest.php') diff --git a/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php b/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php index 19b824b8..243a4459 100644 --- a/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php +++ b/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php @@ -23,7 +23,7 @@ class ManageControllerTest extends WallabagCoreTestCase // Create a new user in the database $crawler = $client->request('GET', '/users/'); - $this->assertEquals(200, $client->getResponse()->getStatusCode(), "Unexpected HTTP status code for GET /users/"); + $this->assertEquals(200, $client->getResponse()->getStatusCode(), 'Unexpected HTTP status code for GET /users/'); $crawler = $client->click($crawler->selectLink('user.list.create_new_one')->link()); // Fill in the form and submit it -- cgit v1.2.3