mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-25 18:41:05 +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());
|
||||
break;
|
||||
case 'tagging_rules':
|
||||
$taggingRuleRepository->removeAllTaggingRules($this->getConfig()->getId());
|
||||
$taggingRuleRepository->removeAllByConfigId($this->getConfig()->getId());
|
||||
break;
|
||||
case 'tags':
|
||||
$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.
|
||||
*
|
||||
* @param int $configId
|
||||
*/
|
||||
public function removeAllTaggingRules($configId)
|
||||
public function removeAllByConfigId($configId)
|
||||
{
|
||||
$this->getEntityManager()
|
||||
->createQuery('DELETE FROM Wallabag\Entity\TaggingRule tr WHERE tr.config = :configId')
|
||||
|
|
|
@ -870,6 +870,12 @@ class ConfigControllerTest extends WallabagTestCase
|
|||
$tag->setLabel('super');
|
||||
$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->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');
|
||||
|
@ -910,6 +916,23 @@ class ConfigControllerTest extends WallabagTestCase
|
|||
|
||||
$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
|
||||
$crawler = $client->request('GET', '/config#set3');
|
||||
|
||||
|
|
Loading…
Reference in a new issue