mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-29 04:21:06 +00:00
Adding tests for tagging rules reset
Fix test: associate tagging rule with user config Update src/Repository/TaggingRuleRepository.php Co-authored-by: Jérémy Benoist <j0k3r@users.noreply.github.com> Update src/Controller/ConfigController.php Co-authored-by: Jérémy Benoist <j0k3r@users.noreply.github.com> Update src/Repository/TaggingRuleRepository.php Co-authored-by: Jérémy Benoist <j0k3r@users.noreply.github.com>
This commit is contained in:
parent
c65850050d
commit
897aa1d309
3 changed files with 26 additions and 3 deletions
|
@ -576,7 +576,7 @@ class ConfigController extends AbstractController
|
||||||
$annotationRepository->removeAllByUserId($this->getUser()->getId());
|
$annotationRepository->removeAllByUserId($this->getUser()->getId());
|
||||||
break;
|
break;
|
||||||
case 'tagging_rules':
|
case 'tagging_rules':
|
||||||
$taggingRuleRepository->removeAllTaggingRules($this->getConfig()->getId());
|
$taggingRuleRepository->removeAllByConfigId($this->getConfig()->getId());
|
||||||
break;
|
break;
|
||||||
case 'tags':
|
case 'tags':
|
||||||
$this->removeAllTagsByUserId($this->getUser()->getId());
|
$this->removeAllTagsByUserId($this->getUser()->getId());
|
||||||
|
|
|
@ -14,12 +14,12 @@ class TaggingRuleRepository extends ServiceEntityRepository
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove all tagging rule for a config.
|
* Remove all tagging rules for a config.
|
||||||
* Used when a user wants to reset.
|
* Used when a user wants to reset.
|
||||||
*
|
*
|
||||||
* @param int $configId
|
* @param int $configId
|
||||||
*/
|
*/
|
||||||
public function removeAllTaggingRules($configId)
|
public function removeAllByConfigId($configId)
|
||||||
{
|
{
|
||||||
$this->getEntityManager()
|
$this->getEntityManager()
|
||||||
->createQuery('DELETE FROM Wallabag\Entity\TaggingRule tr WHERE tr.config = :configId')
|
->createQuery('DELETE FROM Wallabag\Entity\TaggingRule tr WHERE tr.config = :configId')
|
||||||
|
|
|
@ -870,6 +870,12 @@ class ConfigControllerTest extends WallabagTestCase
|
||||||
$tag->setLabel('super');
|
$tag->setLabel('super');
|
||||||
$em->persist($tag);
|
$em->persist($tag);
|
||||||
|
|
||||||
|
$taggingRule = new TaggingRule();
|
||||||
|
$taggingRule->setConfig($user->getConfig());
|
||||||
|
$taggingRule->setRule('readingTime <= 30');
|
||||||
|
$taggingRule->setTags(['aTestTag']);
|
||||||
|
$em->persist($taggingRule);
|
||||||
|
|
||||||
$entry = new Entry($user);
|
$entry = new Entry($user);
|
||||||
$entry->setUrl('https://www.lemonde.fr/europe/article/2016/10/01/pour-le-psoe-chaque-election-s-est-transformee-en-une-agonie_5006476_3214.html');
|
$entry->setUrl('https://www.lemonde.fr/europe/article/2016/10/01/pour-le-psoe-chaque-election-s-est-transformee-en-une-agonie_5006476_3214.html');
|
||||||
$entry->setContent('Youhou');
|
$entry->setContent('Youhou');
|
||||||
|
@ -910,6 +916,23 @@ class ConfigControllerTest extends WallabagTestCase
|
||||||
|
|
||||||
$this->assertEmpty($annotationsReset, 'Annotations were reset');
|
$this->assertEmpty($annotationsReset, 'Annotations were reset');
|
||||||
|
|
||||||
|
// reset taggingRules
|
||||||
|
$crawler = $client->request('GET', '/config#set3');
|
||||||
|
|
||||||
|
$this->assertSame(200, $client->getResponse()->getStatusCode());
|
||||||
|
|
||||||
|
$form = $crawler->filter('form[name=reset-tagging-rules]')->form();
|
||||||
|
$client->submit($form);
|
||||||
|
|
||||||
|
$this->assertSame(302, $client->getResponse()->getStatusCode());
|
||||||
|
$this->assertStringContainsString('flashes.config.notice.tagging_rules_reset', $client->getContainer()->get(SessionInterface::class)->getFlashBag()->get('notice')[0]);
|
||||||
|
|
||||||
|
$taggingRuleReset = $em
|
||||||
|
->getRepository(TaggingRule::class)
|
||||||
|
->count(['config' => $user->getConfig()]);
|
||||||
|
|
||||||
|
$this->assertSame(0, $taggingRuleReset, 'Tagging rules were reset');
|
||||||
|
|
||||||
// reset tags
|
// reset tags
|
||||||
$crawler = $client->request('GET', '/config#set3');
|
$crawler = $client->request('GET', '/config#set3');
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue