From 821bb8768507a16a28e7f98143aba5218691c18b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Thu, 8 Sep 2016 15:47:03 +0200 Subject: Added tests --- .../CoreBundle/Controller/ConfigControllerTest.php | 85 ++++++++++++++++++++++ 1 file changed, 85 insertions(+) (limited to 'tests') diff --git a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php index 1954c654..23e7e786 100644 --- a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php @@ -570,4 +570,89 @@ class ConfigControllerTest extends WallabagCoreTestCase $config->set('demo_mode_enabled', 0); $config->set('demo_mode_username', 'wallabag'); } + + public function testDeleteUserButtonVisibility() + { + $this->logInAs('admin'); + $client = $this->getClient(); + + $crawler = $client->request('GET', '/config'); + + $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text'])); + $this->assertContains('config.form_user.delete_account', $body[0]); + + $em = $client->getContainer()->get('doctrine.orm.entity_manager'); + + $user = $em + ->getRepository('WallabagUserBundle:User') + ->findOneByUsername('wallace'); + $user->setExpired(1); + $em->persist($user); + + $user = $em + ->getRepository('WallabagUserBundle:User') + ->findOneByUsername('empty'); + $user->setExpired(1); + $em->persist($user); + + $user = $em + ->getRepository('WallabagUserBundle:User') + ->findOneByUsername('bob'); + $user->setExpired(1); + $em->persist($user); + + $em->flush(); + + $crawler = $client->request('GET', '/config'); + + $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text'])); + $this->assertNotContains('config.form_user.delete_account', $body[0]); + + $client->request('GET', '/account/delete'); + $this->assertEquals(403, $client->getResponse()->getStatusCode()); + + $user = $em + ->getRepository('WallabagUserBundle:User') + ->findOneByUsername('wallace'); + $user->setExpired(0); + $em->persist($user); + + $user = $em + ->getRepository('WallabagUserBundle:User') + ->findOneByUsername('empty'); + $user->setExpired(0); + $em->persist($user); + + $user = $em + ->getRepository('WallabagUserBundle:User') + ->findOneByUsername('bob'); + $user->setExpired(0); + $em->persist($user); + + $em->flush(); + } + + public function testDeleteAccount() + { + $this->logInAs('wallace'); + $client = $this->getClient(); + + $crawler = $client->request('GET', '/config'); + + $deleteLink = $crawler->filter('.red')->last()->link(); + + $client->click($deleteLink); + $this->assertEquals(302, $client->getResponse()->getStatusCode()); + + $em = $client->getContainer()->get('doctrine.orm.entity_manager'); + $user = $em + ->getRepository('WallabagUserBundle:User') + ->createQueryBuilder('u') + ->where('u.username = :username')->setParameter('username', 'wallace') + ->getQuery() + ->getOneOrNullResult() + ; + + $this->assertTrue(false !== $user); + } } -- cgit v1.2.3 From 71254701b7e5364516b7510e9237c00c678dac1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Thu, 8 Sep 2016 16:00:39 +0200 Subject: Changed tests --- tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php index 23e7e786..282bf570 100644 --- a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php @@ -639,7 +639,7 @@ class ConfigControllerTest extends WallabagCoreTestCase $crawler = $client->request('GET', '/config'); - $deleteLink = $crawler->filter('.red')->last()->link(); + $deleteLink = $crawler->filter('.delete-account')->last()->link(); $client->click($deleteLink); $this->assertEquals(302, $client->getResponse()->getStatusCode()); @@ -653,6 +653,6 @@ class ConfigControllerTest extends WallabagCoreTestCase ->getOneOrNullResult() ; - $this->assertTrue(false !== $user); + $this->assertNull($user); } } -- cgit v1.2.3 From b84026871169cee8cdd4aba892c128beee98e91a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Fri, 9 Sep 2016 10:08:12 +0200 Subject: Added a test to check if entries are also deleted --- .../CoreBundle/Controller/ConfigControllerTest.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'tests') diff --git a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php index 282bf570..75a5e308 100644 --- a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php @@ -637,6 +637,20 @@ class ConfigControllerTest extends WallabagCoreTestCase $this->logInAs('wallace'); $client = $this->getClient(); + // create entry to check after user deletion + // that this entry is also deleted + $crawler = $client->request('GET', '/new'); + + $this->assertEquals(200, $client->getResponse()->getStatusCode()); + + $form = $crawler->filter('form[name=entry]')->form(); + $data = [ + 'entry[url]' => $url = 'https://github.com/wallabag/wallabag', + ]; + + $client->submit($form, $data); + $this->assertEquals(302, $client->getResponse()->getStatusCode()); + $crawler = $client->request('GET', '/config'); $deleteLink = $crawler->filter('.delete-account')->last()->link(); @@ -654,5 +668,12 @@ class ConfigControllerTest extends WallabagCoreTestCase ; $this->assertNull($user); + + $entries = $client->getContainer() + ->get('doctrine.orm.entity_manager') + ->getRepository('WallabagCoreBundle:Entry') + ->findByUser($this->getLoggedInUserId()); + + $this->assertEmpty($entries); } } -- cgit v1.2.3 From c3396c65ef8532091614ec9ae298ba124d58b2b9 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Sat, 8 Oct 2016 14:07:13 +0200 Subject: Fix some tests --- .../CoreBundle/Controller/ConfigControllerTest.php | 39 ++++++++++++++-------- 1 file changed, 26 insertions(+), 13 deletions(-) (limited to 'tests') diff --git a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php index 75a5e308..7929b63d 100644 --- a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php @@ -3,6 +3,8 @@ namespace Tests\Wallabag\CoreBundle\Controller; use Tests\Wallabag\CoreBundle\WallabagCoreTestCase; +use Wallabag\CoreBundle\Entity\Config; +use Wallabag\UserBundle\Entity\User; class ConfigControllerTest extends WallabagCoreTestCase { @@ -583,12 +585,6 @@ class ConfigControllerTest extends WallabagCoreTestCase $em = $client->getContainer()->get('doctrine.orm.entity_manager'); - $user = $em - ->getRepository('WallabagUserBundle:User') - ->findOneByUsername('wallace'); - $user->setExpired(1); - $em->persist($user); - $user = $em ->getRepository('WallabagUserBundle:User') ->findOneByUsername('empty'); @@ -611,12 +607,6 @@ class ConfigControllerTest extends WallabagCoreTestCase $client->request('GET', '/account/delete'); $this->assertEquals(403, $client->getResponse()->getStatusCode()); - $user = $em - ->getRepository('WallabagUserBundle:User') - ->findOneByUsername('wallace'); - $user->setExpired(0); - $em->persist($user); - $user = $em ->getRepository('WallabagUserBundle:User') ->findOneByUsername('empty'); @@ -634,8 +624,31 @@ class ConfigControllerTest extends WallabagCoreTestCase public function testDeleteAccount() { - $this->logInAs('wallace'); $client = $this->getClient(); + $em = $client->getContainer()->get('doctrine.orm.entity_manager'); + + $user = new User(); + $user->setName('Wallace'); + $user->setEmail('wallace@wallabag.org'); + $user->setUsername('wallace'); + $user->setPlainPassword('wallace'); + $user->setEnabled(true); + $user->addRole('ROLE_SUPER_ADMIN'); + + $em->persist($user); + + $config = new Config($user); + + $config->setTheme('material'); + $config->setItemsPerPage(30); + $config->setReadingSpeed(1); + $config->setLanguage('en'); + $config->setPocketConsumerKey('xxxxx'); + + $em->persist($config); + $em->flush(); + + $this->logInAs('wallace'); // create entry to check after user deletion // that this entry is also deleted -- cgit v1.2.3 From 876d77a67d1415c1be56f08e9a2d3b1d294bb61f Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Sat, 8 Oct 2016 19:39:50 +0200 Subject: Better display and description MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Confirmation message isn’t required since it is written in the delete description --- tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php index 7929b63d..5faa0130 100644 --- a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php @@ -581,7 +581,7 @@ class ConfigControllerTest extends WallabagCoreTestCase $crawler = $client->request('GET', '/config'); $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text'])); - $this->assertContains('config.form_user.delete_account', $body[0]); + $this->assertContains('config.form_user.delete.button', $body[0]); $em = $client->getContainer()->get('doctrine.orm.entity_manager'); @@ -602,7 +602,7 @@ class ConfigControllerTest extends WallabagCoreTestCase $crawler = $client->request('GET', '/config'); $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text'])); - $this->assertNotContains('config.form_user.delete_account', $body[0]); + $this->assertNotContains('config.form_user.delete.button', $body[0]); $client->request('GET', '/account/delete'); $this->assertEquals(403, $client->getResponse()->getStatusCode()); @@ -649,6 +649,7 @@ class ConfigControllerTest extends WallabagCoreTestCase $em->flush(); $this->logInAs('wallace'); + $loggedInUserId = $this->getLoggedInUserId(); // create entry to check after user deletion // that this entry is also deleted @@ -685,7 +686,7 @@ class ConfigControllerTest extends WallabagCoreTestCase $entries = $client->getContainer() ->get('doctrine.orm.entity_manager') ->getRepository('WallabagCoreBundle:Entry') - ->findByUser($this->getLoggedInUserId()); + ->findByUser($loggedInUserId); $this->assertEmpty($entries); } -- cgit v1.2.3