X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FTests%2FController%2FConfigControllerTest.php;h=6c370a2d8373781d4d997a488fe1405f1ff4e81b;hb=9856805540843e32b65e2893ea870b6b2e2ba6d0;hp=4eb67ffdc18aef9f8afd039c3c1cdf9b2c5125e2;hpb=8a99c7a86b138faee5dc92ab6ecbd281dbd19451;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Tests/Controller/ConfigControllerTest.php b/src/Wallabag/CoreBundle/Tests/Controller/ConfigControllerTest.php index 4eb67ffd..6c370a2d 100644 --- a/src/Wallabag/CoreBundle/Tests/Controller/ConfigControllerTest.php +++ b/src/Wallabag/CoreBundle/Tests/Controller/ConfigControllerTest.php @@ -44,7 +44,7 @@ class ConfigControllerTest extends WallabagCoreTestCase $form = $crawler->filter('button[id=config_save]')->form(); $data = array( - 'config[theme]' => 0, + 'config[theme]' => 'baggy', 'config[items_per_page]' => '30', 'config[language]' => 'en', ); @@ -63,7 +63,7 @@ class ConfigControllerTest extends WallabagCoreTestCase { return array( array(array( - 'config[theme]' => 0, + 'config[theme]' => 'baggy', 'config[items_per_page]' => '', 'config[language]' => 'en', )), @@ -293,7 +293,7 @@ class ConfigControllerTest extends WallabagCoreTestCase 'new_user[plainPassword][second]' => 'mypassword2', 'new_user[email]' => 'wallace@wallace.me', ), - 'This value is not valid', + 'The password fields must match', ), ); } @@ -505,7 +505,7 @@ class ConfigControllerTest extends WallabagCoreTestCase $this->assertGreaterThan(1, $alert = $crawler->filter('div.messages.success')->extract(array('_text'))); $this->assertContains('Tagging rules updated', $alert[0]); - $deleteLink = $crawler->filter('.delete')->eq(0)->link(); + $deleteLink = $crawler->filter('.delete')->last()->link(); $crawler = $client->click($deleteLink); $this->assertEquals(302, $client->getResponse()->getStatusCode()); @@ -520,18 +520,61 @@ class ConfigControllerTest extends WallabagCoreTestCase return array( array( array( - 'rss_config[rule]' => 'unknownVar <= 3', - 'rss_config[tags]' => 'cool tag', + 'tagging_rule[rule]' => 'unknownVar <= 3', + 'tagging_rule[tags]' => 'cool tag', + ), + array( + 'The variable', + 'does not exist.', ), - 'The variable « unknownVar » does not exist.', ), array( array( - 'rss_config[rule]' => 'length(domainName) <= 42', - 'rss_config[tags]' => 'cool tag', + 'tagging_rule[rule]' => 'length(domainName) <= 42', + 'tagging_rule[tags]' => 'cool tag', + ), + array( + 'The operator', + 'does not exist.', ), - 'The operator « length » does not exist.', ), ); } + + /** + * @dataProvider dataForTaggingRuleFailed + */ + public function testTaggingRuleCreationFail($data, $messages) + { + $this->logInAs('admin'); + $client = $this->getClient(); + + $crawler = $client->request('GET', '/config'); + + $this->assertTrue($client->getResponse()->isSuccessful()); + + $form = $crawler->filter('button[id=tagging_rule_save]')->form(); + + $client->submit($form, $data); + + $this->assertEquals(200, $client->getResponse()->getStatusCode()); + + foreach ($messages as $message) { + $this->assertContains($message, $client->getResponse()->getContent()); + } + } + + public function testDeletingTaggingRuleFromAnOtherUser() + { + $this->logInAs('bob'); + $client = $this->getClient(); + + $rule = $client->getContainer()->get('doctrine.orm.entity_manager') + ->getRepository('WallabagCoreBundle:TaggingRule') + ->findAll()[0]; + + $client->request('GET', '/tagging-rule/delete/'.$rule->getId()); + $this->assertEquals(403, $client->getResponse()->getStatusCode()); + $this->assertContains('You can not access this tagging ryle', $client->getResponse()->getContent()); + } }