Merge pull request #1529 from wallabag/v2-taggingrule-tablename

changed table name for tagging rule
This commit is contained in:
Jeremy Benoist 2015-12-08 09:35:27 +01:00
commit da2240f9d4
9 changed files with 32 additions and 38 deletions

View file

@ -10,7 +10,7 @@ use KPhoen\RulerZBundle\Validator\Constraints as RulerZAssert;
* Tagging rule.
*
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\TaggingRuleRepository")
* @ORM\Table
* @ORM\Table(name="`tagging_rule`")
* @ORM\Entity
*/
class TaggingRule

View file

@ -2,13 +2,11 @@
namespace Wallabag\CoreBundle\Form\DataTransformer;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\Form\DataTransformerInterface;
use Symfony\Component\Form\Exception\TransformationFailedException;
/**
* Transforms a comma-separated list to a proper PHP array.
* Example: the string "foo, bar" will become the array ["foo", "bar"]
* Example: the string "foo, bar" will become the array ["foo", "bar"].
*/
class StringToListTransformer implements DataTransformerInterface
{
@ -44,14 +42,14 @@ class StringToListTransformer implements DataTransformerInterface
/**
* Transforms a string to a list.
*
* @param string $string
* @param string $string
*
* @return array|null
*/
public function reverseTransform($string)
{
if ($string === null) {
return null;
return;
}
return array_values(array_filter(array_map('trim', explode($this->separator, $string))));

View file

@ -5,7 +5,6 @@ namespace Wallabag\CoreBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Wallabag\CoreBundle\Form\DataTransformer\StringToListTransformer;
class TaggingRuleType extends AbstractType

View file

@ -19,7 +19,7 @@ class ContentProxy
public function __construct(Graby $graby, RuleBasedTagger $tagger, Logger $logger)
{
$this->graby = $graby;
$this->graby = $graby;
$this->tagger = $tagger;
$this->logger = $logger;
}

View file

@ -3,7 +3,6 @@
namespace Wallabag\CoreBundle\Helper;
use RulerZ\RulerZ;
use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\CoreBundle\Entity\Tag;
use Wallabag\CoreBundle\Repository\EntryRepository;
@ -18,8 +17,8 @@ class RuleBasedTagger
public function __construct(RulerZ $rulerz, TagRepository $tagRepository, EntryRepository $entryRepository)
{
$this->rulerz = $rulerz;
$this->tagRepository = $tagRepository;
$this->rulerz = $rulerz;
$this->tagRepository = $tagRepository;
$this->entryRepository = $entryRepository;
}
@ -54,11 +53,11 @@ class RuleBasedTagger
*/
public function tagAllForUser(User $user)
{
$rules = $this->getRulesForUser($user);
$rules = $this->getRulesForUser($user);
$entries = array();
foreach ($rules as $rule) {
$qb = $this->entryRepository->getBuilderForAllByUser($user->getId());
$qb = $this->entryRepository->getBuilderForAllByUser($user->getId());
$entries = $this->rulerz->filter($qb, $rule->getRule());
foreach ($entries as $entry) {

View file

@ -150,7 +150,7 @@ class ExportControllerTest extends WallabagCoreTestCase
$this->assertGreaterThan(1, $csv);
// +1 for title line
$this->assertEquals(count($contentInDB)+1, count($csv));
$this->assertEquals(count($contentInDB) + 1, count($csv));
$this->assertEquals('Title;URL;Content;Tags;"MIME Type";Language', $csv[0]);
}

View file

@ -19,10 +19,10 @@ class StringToListTransformerTest extends \PHPUnit_Framework_TestCase
public function transformProvider()
{
return array(
array( null, '' ),
array( array(), '' ),
array( array('single value'), 'single value' ),
array( array('first value', 'second value'), 'first value,second value' ),
array(null, ''),
array(array(), ''),
array(array('single value'), 'single value'),
array(array('first value', 'second value'), 'first value,second value'),
);
}
@ -39,12 +39,12 @@ class StringToListTransformerTest extends \PHPUnit_Framework_TestCase
public function reverseTransformProvider()
{
return array(
array( null, null ),
array( '', array() ),
array( 'single value', array('single value') ),
array( 'first value,second value', array('first value', 'second value') ),
array( 'first value, second value', array('first value', 'second value') ),
array( 'first value, , second value', array('first value', 'second value') ),
array(null, null),
array('', array()),
array('single value', array('single value')),
array('first value,second value', array('first value', 'second value')),
array('first value, second value', array('first value', 'second value')),
array('first value, , second value', array('first value', 'second value')),
);
}
}

View file

@ -2,9 +2,7 @@
namespace Wallabag\CoreBundle\Tests\Helper;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use Psr\Log\NullLogger;
use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\UserBundle\Entity\User;
use Wallabag\CoreBundle\Helper\ContentProxy;

View file

@ -18,8 +18,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
public function setUp()
{
$this->rulerz = $this->getRulerZMock();
$this->tagRepository = $this->getTagRepositoryMock();
$this->rulerz = $this->getRulerZMock();
$this->tagRepository = $this->getTagRepositoryMock();
$this->entryRepository = $this->getEntryRepositoryMock();
$this->tagger = new RuleBasedTagger($this->rulerz, $this->tagRepository, $this->entryRepository);
@ -37,8 +37,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
public function testTagWithNoMatchingRule()
{
$taggingRule = $this->getTaggingRule('rule as string', array('foo', 'bar'));
$user = $this->getUser([$taggingRule]);
$entry = new Entry($user);
$user = $this->getUser([$taggingRule]);
$entry = new Entry($user);
$this->rulerz
->expects($this->once())
@ -54,8 +54,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
public function testTagWithAMatchingRule()
{
$taggingRule = $this->getTaggingRule('rule as string', array('foo', 'bar'));
$user = $this->getUser([$taggingRule]);
$entry = new Entry($user);
$user = $this->getUser([$taggingRule]);
$entry = new Entry($user);
$this->rulerz
->expects($this->once())
@ -76,10 +76,10 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
public function testTagWithAMixOfMatchingRules()
{
$taggingRule = $this->getTaggingRule('bla bla', array('hey'));
$taggingRule = $this->getTaggingRule('bla bla', array('hey'));
$otherTaggingRule = $this->getTaggingRule('rule as string', array('foo'));
$user = $this->getUser([$taggingRule, $otherTaggingRule]);
$user = $this->getUser([$taggingRule, $otherTaggingRule]);
$entry = new Entry($user);
$this->rulerz
@ -98,9 +98,9 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
public function testWhenTheTagExists()
{
$taggingRule = $this->getTaggingRule('rule as string', array('foo'));
$user = $this->getUser([$taggingRule]);
$entry = new Entry($user);
$tag = new Tag($user);
$user = $this->getUser([$taggingRule]);
$entry = new Entry($user);
$tag = new Tag($user);
$this->rulerz
->expects($this->once())
@ -123,7 +123,7 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
private function getUser(array $taggingRules = [])
{
$user = new User();
$user = new User();
$config = new Config($user);
$user->setConfig($config);