Limit rule to 255

To avoid database error
This commit is contained in:
Jeremy Benoist 2016-12-03 11:10:39 +01:00
parent 1093e979ff
commit 5aa0294cca
No known key found for this signature in database
GPG key ID: BCA73962457ACC3C
2 changed files with 24 additions and 0 deletions

View file

@ -28,6 +28,7 @@ class TaggingRule
* @var string
*
* @Assert\NotBlank()
* @Assert\Length(max=255)
* @RulerZAssert\ValidRule(
* allowed_variables={"title", "url", "isArchived", "isStared", "content", "language", "mimetype", "readingTime", "domainName"},
* allowed_operators={">", "<", ">=", "<=", "=", "is", "!=", "and", "not", "or", "matches"}

View file

@ -515,6 +515,29 @@ class ConfigControllerTest extends WallabagCoreTestCase
}
}
public function testTaggingRuleTooLong()
{
$this->logInAs('admin');
$client = $this->getClient();
$crawler = $client->request('GET', '/config');
$this->assertEquals(200, $client->getResponse()->getStatusCode());
$form = $crawler->filter('button[id=tagging_rule_save]')->form();
$crawler = $client->submit($form, [
'tagging_rule[rule]' => str_repeat('title', 60),
'tagging_rule[tags]' => 'cool tag',
]);
$this->assertEquals(200, $client->getResponse()->getStatusCode());
$this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
$this->assertContains('255 characters', $body[0]);
}
public function testDeletingTaggingRuleFromAnOtherUser()
{
$this->logInAs('bob');