$tags = $request->request->get('tags', '');
if (!empty($tags)) {
- $this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags);
+ $this->get('wallabag_core.tags_assigner')->assignTagsToEntry($entry, $tags);
}
if (!is_null($isStarred)) {
$tags = $request->request->get('tags', '');
if (!empty($tags)) {
- $this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags);
+ $this->get('wallabag_core.tags_assigner')->assignTagsToEntry($entry, $tags);
}
$em = $this->getDoctrine()->getManager();
$tags = $request->request->get('tags', '');
if (!empty($tags)) {
- $this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags);
+ $this->get('wallabag_core.tags_assigner')->assignTagsToEntry($entry, $tags);
}
$em = $this->getDoctrine()->getManager();
$tags = $element->tags;
if (false !== $entry && !(empty($tags))) {
- $this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags);
+ $this->get('wallabag_core.tags_assigner')->assignTagsToEntry($entry, $tags);
$em = $this->getDoctrine()->getManager();
$em->persist($entry);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
- $this->get('wallabag_core.content_proxy')->assignTagsToEntry(
+ $this->get('wallabag_core.tags_assigner')->assignTagsToEntry(
$entry,
$form->get('label')->getData()
);
use Graby\Graby;
use Psr\Log\LoggerInterface;
+use Symfony\Component\EventDispatcher\EventDispatcher;
use Wallabag\CoreBundle\Entity\Entry;
-use Wallabag\CoreBundle\Entity\Tag;
use Wallabag\CoreBundle\Tools\Utils;
-use Wallabag\CoreBundle\Repository\TagRepository;
use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeExtensionGuesser;
/**
protected $graby;
protected $tagger;
protected $logger;
- protected $tagRepository;
protected $mimeGuesser;
protected $fetchingErrorMessage;
+ protected $eventDispatcher;
- public function __construct(Graby $graby, RuleBasedTagger $tagger, TagRepository $tagRepository, LoggerInterface $logger, $fetchingErrorMessage)
+ public function __construct(Graby $graby, RuleBasedTagger $tagger, LoggerInterface $logger, $fetchingErrorMessage)
{
$this->graby = $graby;
$this->tagger = $tagger;
$this->logger = $logger;
- $this->tagRepository = $tagRepository;
$this->mimeGuesser = new MimeTypeExtensionGuesser();
$this->fetchingErrorMessage = $fetchingErrorMessage;
}
return $entry;
}
- /**
- * Assign some tags to an entry.
- *
- * @param Entry $entry
- * @param array|string $tags An array of tag or a string coma separated of tag
- * @param array $entitiesReady Entities from the EntityManager which are persisted but not yet flushed
- * It is mostly to fix duplicate tag on import @see http://stackoverflow.com/a/7879164/569101
- */
- public function assignTagsToEntry(Entry $entry, $tags, array $entitiesReady = [])
- {
- if (!is_array($tags)) {
- $tags = explode(',', $tags);
- }
-
- // keeps only Tag entity from the "not yet flushed entities"
- $tagsNotYetFlushed = [];
- foreach ($entitiesReady as $entity) {
- if ($entity instanceof Tag) {
- $tagsNotYetFlushed[$entity->getLabel()] = $entity;
- }
- }
-
- foreach ($tags as $label) {
- $label = trim($label);
-
- // avoid empty tag
- if (0 === strlen($label)) {
- continue;
- }
-
- if (isset($tagsNotYetFlushed[$label])) {
- $tagEntity = $tagsNotYetFlushed[$label];
- } else {
- $tagEntity = $this->tagRepository->findOneByLabel($label);
-
- if (is_null($tagEntity)) {
- $tagEntity = new Tag();
- $tagEntity->setLabel($label);
- }
- }
-
- // only add the tag on the entry if the relation doesn't exist
- if (false === $entry->getTags()->contains($tagEntity)) {
- $entry->addTag($tagEntity);
- }
- }
- }
-
/**
* Validate that the given content as enough value to be used
* instead of fetch the content from the url.
--- /dev/null
+<?php
+
+namespace Wallabag\CoreBundle\Helper;
+
+use Wallabag\CoreBundle\Entity\Entry;
+use Wallabag\CoreBundle\Entity\Tag;
+use Wallabag\CoreBundle\Repository\TagRepository;
+
+class TagsAssigner
+{
+
+ /**
+ * @var TagRepository $tagRepository
+ */
+ protected $tagRepository;
+
+ public function __construct(TagRepository $tagRepository)
+ {
+ $this->tagRepository = $tagRepository;
+ }
+
+ /**
+ * Assign some tags to an entry.
+ *
+ * @param Entry $entry
+ * @param array|string $tags An array of tag or a string coma separated of tag
+ * @param array $entitiesReady Entities from the EntityManager which are persisted but not yet flushed
+ * It is mostly to fix duplicate tag on import @see http://stackoverflow.com/a/7879164/569101
+ *
+ * @return Tag[]
+ */
+ public function assignTagsToEntry(Entry $entry, $tags, array $entitiesReady = [])
+ {
+ $tagsEntities = [];
+
+ if (!is_array($tags)) {
+ $tags = explode(',', $tags);
+ }
+
+ // keeps only Tag entity from the "not yet flushed entities"
+ $tagsNotYetFlushed = [];
+ foreach ($entitiesReady as $entity) {
+ if ($entity instanceof Tag) {
+ $tagsNotYetFlushed[$entity->getLabel()] = $entity;
+ }
+ }
+
+ foreach ($tags as $label) {
+ $label = trim($label);
+
+ // avoid empty tag
+ if (0 === strlen($label)) {
+ continue;
+ }
+
+ if (isset($tagsNotYetFlushed[$label])) {
+ $tagEntity = $tagsNotYetFlushed[$label];
+ } else {
+ $tagEntity = $this->tagRepository->findOneByLabel($label);
+
+ if (null === $tagEntity) {
+ $tagEntity = new Tag();
+ $tagEntity->setLabel($label);
+ }
+ }
+
+ // only add the tag on the entry if the relation doesn't exist
+ if (false === $entry->getTags()->contains($tagEntity)) {
+ $entry->addTag($tagEntity);
+ $tagsEntities[] = $tagEntity;
+ }
+ }
+
+ return $tagsEntities;
+ }
+}
arguments:
- "@wallabag_core.graby"
- "@wallabag_core.rule_based_tagger"
- - "@wallabag_core.tag_repository"
- "@logger"
- '%wallabag_core.fetching_error_message%'
+ wallabag_core.tags_assigner:
+ class: Wallabag\CoreBundle\Helper\TagsAssigner
+ arguments:
+ - "@wallabag_core.tag_repository"
+
wallabag_core.rule_based_tagger:
class: Wallabag\CoreBundle\Helper\RuleBasedTagger
arguments:
use Wallabag\CoreBundle\Helper\ContentProxy;
use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\CoreBundle\Entity\Tag;
+use Wallabag\CoreBundle\Helper\TagsAssigner;
use Wallabag\UserBundle\Entity\User;
use OldSound\RabbitMqBundle\RabbitMq\ProducerInterface;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
protected $em;
protected $logger;
protected $contentProxy;
+ protected $tagsAssigner;
protected $eventDispatcher;
protected $producer;
protected $user;
protected $importedEntries = 0;
protected $queuedEntries = 0;
- public function __construct(EntityManager $em, ContentProxy $contentProxy, EventDispatcherInterface $eventDispatcher)
+ public function __construct(EntityManager $em, ContentProxy $contentProxy, TagsAssigner $tagsAssigner, EventDispatcherInterface $eventDispatcher)
{
$this->em = $em;
$this->logger = new NullLogger();
$this->contentProxy = $contentProxy;
+ $this->tagsAssigner = $tagsAssigner;
$this->eventDispatcher = $eventDispatcher;
}
$entry = $this->fetchContent($entry, $data['url'], $data);
if (array_key_exists('tags', $data)) {
- $this->contentProxy->assignTagsToEntry(
+ $this->tagsAssigner->assignTagsToEntry(
$entry,
$data['tags']
);
$entry = $this->fetchContent($entry, $data['url'], $data);
if (!empty($data['tags'])) {
- $this->contentProxy->assignTagsToEntry(
+ $this->tagsAssigner->assignTagsToEntry(
$entry,
$data['tags'],
$this->em->getUnitOfWork()->getScheduledEntityInsertions()
}
if (isset($importedEntry['tags']) && !empty($importedEntry['tags'])) {
- $this->contentProxy->assignTagsToEntry(
+ $this->tagsAssigner->assignTagsToEntry(
$entry,
array_keys($importedEntry['tags']),
$this->em->getUnitOfWork()->getScheduledEntityInsertions()
$entry = $this->fetchContent($entry, $data['url'], $data);
if (array_key_exists('tags', $data)) {
- $this->contentProxy->assignTagsToEntry(
+ $this->tagsAssigner->assignTagsToEntry(
$entry,
$data['tags'],
$this->em->getUnitOfWork()->getScheduledEntityInsertions()
arguments:
- "@doctrine.orm.entity_manager"
- "@wallabag_core.content_proxy"
+ - "@wallabag_core.tags_assigner"
- "@event_dispatcher"
calls:
- [ setClient, [ "@wallabag_import.pocket.client" ] ]
arguments:
- "@doctrine.orm.entity_manager"
- "@wallabag_core.content_proxy"
+ - "@wallabag_core.tags_assigner"
- "@event_dispatcher"
calls:
- [ setLogger, [ "@logger" ]]
arguments:
- "@doctrine.orm.entity_manager"
- "@wallabag_core.content_proxy"
+ - "@wallabag_core.tags_assigner"
- "@event_dispatcher"
calls:
- [ setLogger, [ "@logger" ]]
arguments:
- "@doctrine.orm.entity_manager"
- "@wallabag_core.content_proxy"
+ - "@wallabag_core.tags_assigner"
- "@event_dispatcher"
calls:
- [ setLogger, [ "@logger" ]]
arguments:
- "@doctrine.orm.entity_manager"
- "@wallabag_core.content_proxy"
+ - "@wallabag_core.tags_assigner"
- "@event_dispatcher"
calls:
- [ setLogger, [ "@logger" ]]
arguments:
- "@doctrine.orm.entity_manager"
- "@wallabag_core.content_proxy"
+ - "@wallabag_core.tags_assigner"
- "@event_dispatcher"
calls:
- [ setLogger, [ "@logger" ]]
arguments:
- "@doctrine.orm.entity_manager"
- "@wallabag_core.content_proxy"
+ - "@wallabag_core.tags_assigner"
- "@event_dispatcher"
calls:
- [ setLogger, [ "@logger" ]]
arguments:
- "@doctrine.orm.entity_manager"
- "@wallabag_core.content_proxy"
+ - "@wallabag_core.tags_assigner"
- "@event_dispatcher"
calls:
- [ setLogger, [ "@logger" ]]
use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\CoreBundle\Entity\Tag;
use Wallabag\UserBundle\Entity\User;
+use Wallabag\CoreBundle\Repository\TagRepository;
+use Wallabag\CoreBundle\Helper\RuleBasedTagger;
class ContentProxyTest extends \PHPUnit_Framework_TestCase
{
'language' => '',
]);
- $proxy = new ContentProxy($graby, $tagger, $this->getTagRepositoryMock(), $this->getLogger(), $this->fetchingErrorMessage);
+ $proxy = new ContentProxy($graby, $tagger, $this->getLogger(), $this->fetchingErrorMessage);
$entry = $proxy->updateEntry(new Entry(new User()), 'http://user@:80');
$this->assertEquals('http://user@:80', $entry->getUrl());
'language' => '',
]);
- $proxy = new ContentProxy($graby, $tagger, $this->getTagRepositoryMock(), $this->getLogger(), $this->fetchingErrorMessage);
+ $proxy = new ContentProxy($graby, $tagger, $this->getLogger(), $this->fetchingErrorMessage);
$entry = $proxy->updateEntry(new Entry(new User()), 'http://0.0.0.0');
$this->assertEquals('http://0.0.0.0', $entry->getUrl());
],
]);
- $proxy = new ContentProxy($graby, $tagger, $this->getTagRepositoryMock(), $this->getLogger(), $this->fetchingErrorMessage);
+ $proxy = new ContentProxy($graby, $tagger, $this->getLogger(), $this->fetchingErrorMessage);
$entry = $proxy->updateEntry(new Entry(new User()), 'http://domain.io');
$this->assertEquals('http://domain.io', $entry->getUrl());
],
]);
- $proxy = new ContentProxy($graby, $tagger, $this->getTagRepositoryMock(), $this->getLogger(), $this->fetchingErrorMessage);
+ $proxy = new ContentProxy($graby, $tagger, $this->getLogger(), $this->fetchingErrorMessage);
$entry = $proxy->updateEntry(new Entry(new User()), 'http://0.0.0.0');
$this->assertEquals('http://1.1.1.1', $entry->getUrl());
],
]);
- $proxy = new ContentProxy($graby, $tagger, $this->getTagRepositoryMock(), $this->getLogger(), $this->fetchingErrorMessage);
+ $proxy = new ContentProxy($graby, $tagger, $this->getLogger(), $this->fetchingErrorMessage);
$entry = $proxy->updateEntry(new Entry(new User()), 'http://0.0.0.0');
$this->assertEquals('http://1.1.1.1', $entry->getUrl());
$graby = $this->getMockBuilder('Graby\Graby')->getMock();
- $proxy = new ContentProxy($graby, $tagger, $this->getTagRepositoryMock(), $this->getLogger(), $this->fetchingErrorMessage);
+ $proxy = new ContentProxy($graby, $tagger, $this->getLogger(), $this->fetchingErrorMessage);
$entry = $proxy->updateEntry(new Entry(new User()), 'http://0.0.0.0', [
'html' => str_repeat('this is my content', 325),
'title' => 'this is my title',
->method('tag')
->will($this->throwException(new \Exception()));
- $tagRepo = $this->getTagRepositoryMock();
- $proxy = new ContentProxy($graby, $tagger, $tagRepo, $this->getLogger(), $this->fetchingErrorMessage);
+ $proxy = new ContentProxy($graby, $tagger, $this->getLogger(), $this->fetchingErrorMessage);
$entry = $proxy->updateEntry(new Entry(new User()), 'http://0.0.0.0', [
'html' => str_repeat('this is my content', 325),
$this->assertCount(0, $entry->getTags());
}
- public function testAssignTagsWithArrayAndExtraSpaces()
- {
- $graby = $this->getMockBuilder('Graby\Graby')
- ->disableOriginalConstructor()
- ->getMock();
-
- $tagRepo = $this->getTagRepositoryMock();
- $proxy = new ContentProxy($graby, $this->getTaggerMock(), $tagRepo, $this->getLogger(), $this->fetchingErrorMessage);
-
- $entry = new Entry(new User());
-
- $proxy->assignTagsToEntry($entry, [' tag1', 'tag2 ']);
-
- $this->assertCount(2, $entry->getTags());
- $this->assertEquals('tag1', $entry->getTags()[0]->getLabel());
- $this->assertEquals('tag2', $entry->getTags()[1]->getLabel());
- }
-
- public function testAssignTagsWithString()
- {
- $graby = $this->getMockBuilder('Graby\Graby')
- ->disableOriginalConstructor()
- ->getMock();
-
- $tagRepo = $this->getTagRepositoryMock();
- $proxy = new ContentProxy($graby, $this->getTaggerMock(), $tagRepo, $this->getLogger(), $this->fetchingErrorMessage);
-
- $entry = new Entry(new User());
-
- $proxy->assignTagsToEntry($entry, 'tag1, tag2');
-
- $this->assertCount(2, $entry->getTags());
- $this->assertEquals('tag1', $entry->getTags()[0]->getLabel());
- $this->assertEquals('tag2', $entry->getTags()[1]->getLabel());
- }
-
- public function testAssignTagsWithEmptyArray()
- {
- $graby = $this->getMockBuilder('Graby\Graby')
- ->disableOriginalConstructor()
- ->getMock();
-
- $tagRepo = $this->getTagRepositoryMock();
- $proxy = new ContentProxy($graby, $this->getTaggerMock(), $tagRepo, $this->getLogger(), $this->fetchingErrorMessage);
-
- $entry = new Entry(new User());
-
- $proxy->assignTagsToEntry($entry, []);
-
- $this->assertCount(0, $entry->getTags());
- }
-
- public function testAssignTagsWithEmptyString()
- {
- $graby = $this->getMockBuilder('Graby\Graby')
- ->disableOriginalConstructor()
- ->getMock();
-
- $tagRepo = $this->getTagRepositoryMock();
- $proxy = new ContentProxy($graby, $this->getTaggerMock(), $tagRepo, $this->getLogger(), $this->fetchingErrorMessage);
-
- $entry = new Entry(new User());
-
- $proxy->assignTagsToEntry($entry, '');
-
- $this->assertCount(0, $entry->getTags());
- }
-
- public function testAssignTagsAlreadyAssigned()
- {
- $graby = $this->getMockBuilder('Graby\Graby')
- ->disableOriginalConstructor()
- ->getMock();
-
- $tagRepo = $this->getTagRepositoryMock();
- $proxy = new ContentProxy($graby, $this->getTaggerMock(), $tagRepo, $this->getLogger(), $this->fetchingErrorMessage);
-
- $tagEntity = new Tag();
- $tagEntity->setLabel('tag1');
-
- $entry = new Entry(new User());
- $entry->addTag($tagEntity);
-
- $proxy->assignTagsToEntry($entry, 'tag1, tag2');
-
- $this->assertCount(2, $entry->getTags());
- $this->assertEquals('tag1', $entry->getTags()[0]->getLabel());
- $this->assertEquals('tag2', $entry->getTags()[1]->getLabel());
- }
-
- public function testAssignTagsNotFlushed()
- {
- $graby = $this->getMockBuilder('Graby\Graby')
- ->disableOriginalConstructor()
- ->getMock();
-
- $tagRepo = $this->getTagRepositoryMock();
- $tagRepo->expects($this->never())
- ->method('__call');
-
- $proxy = new ContentProxy($graby, $this->getTaggerMock(), $tagRepo, $this->getLogger(), $this->fetchingErrorMessage);
-
- $tagEntity = new Tag();
- $tagEntity->setLabel('tag1');
-
- $entry = new Entry(new User());
-
- $proxy->assignTagsToEntry($entry, 'tag1', [$tagEntity]);
-
- $this->assertCount(1, $entry->getTags());
- $this->assertEquals('tag1', $entry->getTags()[0]->getLabel());
- }
-
private function getTaggerMock()
{
- return $this->getMockBuilder('Wallabag\CoreBundle\Helper\RuleBasedTagger')
+ return $this->getMockBuilder(RuleBasedTagger::class)
->setMethods(['tag'])
->disableOriginalConstructor()
->getMock();
}
- private function getTagRepositoryMock()
- {
- return $this->getMockBuilder('Wallabag\CoreBundle\Repository\TagRepository')
- ->disableOriginalConstructor()
- ->getMock();
- }
-
private function getLogger()
{
return new NullLogger();
--- /dev/null
+<?php
+
+namespace Tests\Wallabag\CoreBundle\Helper;
+
+use Psr\Log\NullLogger;
+use Wallabag\CoreBundle\Helper\ContentProxy;
+use Wallabag\CoreBundle\Entity\Entry;
+use Wallabag\CoreBundle\Entity\Tag;
+use Wallabag\CoreBundle\Helper\TagsAssigner;
+use Wallabag\UserBundle\Entity\User;
+use Wallabag\CoreBundle\Repository\TagRepository;
+use Wallabag\CoreBundle\Helper\RuleBasedTagger;
+
+class TagsAssignerTest extends \PHPUnit_Framework_TestCase
+{
+
+ public function testAssignTagsWithArrayAndExtraSpaces()
+ {
+
+ $tagRepo = $this->getTagRepositoryMock();
+ $tagsAssigner = new TagsAssigner($tagRepo);
+
+ $entry = new Entry(new User());
+
+ $tagsAssigner->assignTagsToEntry($entry, [' tag1', 'tag2 ']);
+
+ $this->assertCount(2, $entry->getTags());
+ $this->assertEquals('tag1', $entry->getTags()[0]->getLabel());
+ $this->assertEquals('tag2', $entry->getTags()[1]->getLabel());
+ }
+
+ public function testAssignTagsWithString()
+ {
+ $tagRepo = $this->getTagRepositoryMock();
+ $tagsAssigner = new TagsAssigner($tagRepo);
+
+ $entry = new Entry(new User());
+
+ $tagsAssigner->assignTagsToEntry($entry, 'tag1, tag2');
+
+ $this->assertCount(2, $entry->getTags());
+ $this->assertEquals('tag1', $entry->getTags()[0]->getLabel());
+ $this->assertEquals('tag2', $entry->getTags()[1]->getLabel());
+ }
+
+ public function testAssignTagsWithEmptyArray()
+ {
+ $tagRepo = $this->getTagRepositoryMock();
+ $tagsAssigner = new TagsAssigner($tagRepo);
+
+ $entry = new Entry(new User());
+
+ $tagsAssigner->assignTagsToEntry($entry, []);
+
+ $this->assertCount(0, $entry->getTags());
+ }
+
+ public function testAssignTagsWithEmptyString()
+ {
+ $tagRepo = $this->getTagRepositoryMock();
+ $tagsAssigner = new TagsAssigner($tagRepo);
+
+ $entry = new Entry(new User());
+
+ $tagsAssigner->assignTagsToEntry($entry, '');
+
+ $this->assertCount(0, $entry->getTags());
+ }
+
+ public function testAssignTagsAlreadyAssigned()
+ {
+ $tagRepo = $this->getTagRepositoryMock();
+ $tagsAssigner = new TagsAssigner($tagRepo);
+
+ $tagEntity = new Tag();
+ $tagEntity->setLabel('tag1');
+
+ $entry = new Entry(new User());
+ $entry->addTag($tagEntity);
+
+ $tagsAssigner->assignTagsToEntry($entry, 'tag1, tag2');
+
+ $this->assertCount(2, $entry->getTags());
+ $this->assertEquals('tag1', $entry->getTags()[0]->getLabel());
+ $this->assertEquals('tag2', $entry->getTags()[1]->getLabel());
+ }
+
+ public function testAssignTagsNotFlushed()
+ {
+
+ $tagRepo = $this->getTagRepositoryMock();
+ $tagRepo->expects($this->never())
+ ->method('__call');
+
+ $tagsAssigner = new TagsAssigner($tagRepo);
+
+ $tagEntity = new Tag();
+ $tagEntity->setLabel('tag1');
+
+ $entry = new Entry(new User());
+
+ $tagsAssigner->assignTagsToEntry($entry, 'tag1', [$tagEntity]);
+
+ $this->assertCount(1, $entry->getTags());
+ $this->assertEquals('tag1', $entry->getTags()[0]->getLabel());
+ }
+
+ private function getTagRepositoryMock()
+ {
+ return $this->getMockBuilder(TagRepository::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+}
protected $em;
protected $logHandler;
protected $contentProxy;
+ protected $tagsAssigner;
private function getChromeImport($unsetUser = false, $dispatched = 0)
{
->disableOriginalConstructor()
->getMock();
+ $this->tagsAssigner = $this->getMockBuilder('Wallabag\CoreBundle\Helper\TagsAssigner')
+ ->disableOriginalConstructor()
+ ->getMock();
+
$dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher')
->disableOriginalConstructor()
->getMock();
->expects($this->exactly($dispatched))
->method('dispatch');
- $wallabag = new ChromeImport($this->em, $this->contentProxy, $dispatcher);
+ $wallabag = new ChromeImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher);
$this->logHandler = new TestHandler();
$logger = new Logger('test', [$this->logHandler]);
protected $em;
protected $logHandler;
protected $contentProxy;
+ protected $tagsAssigner;
private function getFirefoxImport($unsetUser = false, $dispatched = 0)
{
->disableOriginalConstructor()
->getMock();
+ $this->tagsAssigner = $this->getMockBuilder('Wallabag\CoreBundle\Helper\TagsAssigner')
+ ->disableOriginalConstructor()
+ ->getMock();
+
$dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher')
->disableOriginalConstructor()
->getMock();
->expects($this->exactly($dispatched))
->method('dispatch');
- $wallabag = new FirefoxImport($this->em, $this->contentProxy, $dispatcher);
+ $wallabag = new FirefoxImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher);
$this->logHandler = new TestHandler();
$logger = new Logger('test', [$this->logHandler]);
protected $em;
protected $logHandler;
protected $contentProxy;
+ protected $tagsAssigner;
private function getInstapaperImport($unsetUser = false, $dispatched = 0)
{
->disableOriginalConstructor()
->getMock();
+ $this->tagsAssigner = $this->getMockBuilder('Wallabag\CoreBundle\Helper\TagsAssigner')
+ ->disableOriginalConstructor()
+ ->getMock();
+
$dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher')
->disableOriginalConstructor()
->getMock();
->expects($this->exactly($dispatched))
->method('dispatch');
- $import = new InstapaperImport($this->em, $this->contentProxy, $dispatcher);
+ $import = new InstapaperImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher);
$this->logHandler = new TestHandler();
$logger = new Logger('test', [$this->logHandler]);
protected $em;
protected $contentProxy;
protected $logHandler;
+ protected $tagsAssigner;
+ protected $uow;
private function getPocketImport($consumerKey = 'ConsumerKey', $dispatched = 0)
{
->disableOriginalConstructor()
->getMock();
+ $this->tagsAssigner = $this->getMockBuilder('Wallabag\CoreBundle\Helper\TagsAssigner')
+ ->disableOriginalConstructor()
+ ->getMock();
+
$this->em = $this->getMockBuilder('Doctrine\ORM\EntityManager')
->disableOriginalConstructor()
->getMock();
->expects($this->exactly($dispatched))
->method('dispatch');
- $pocket = new PocketImport($this->em, $this->contentProxy, $dispatcher);
+ $pocket = new PocketImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher);
$pocket->setUser($this->user);
$this->logHandler = new TestHandler();
protected $em;
protected $logHandler;
protected $contentProxy;
+ protected $tagsAssigner;
private function getReadabilityImport($unsetUser = false, $dispatched = 0)
{
->disableOriginalConstructor()
->getMock();
+ $this->tagsAssigner = $this->getMockBuilder('Wallabag\CoreBundle\Helper\TagsAssigner')
+ ->disableOriginalConstructor()
+ ->getMock();
+
$dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher')
->disableOriginalConstructor()
->getMock();
->expects($this->exactly($dispatched))
->method('dispatch');
- $wallabag = new ReadabilityImport($this->em, $this->contentProxy, $dispatcher);
+ $wallabag = new ReadabilityImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher);
$this->logHandler = new TestHandler();
$logger = new Logger('test', [$this->logHandler]);
protected $em;
protected $logHandler;
protected $contentProxy;
+ protected $tagsAssigner;
+ protected $uow;
private function getWallabagV1Import($unsetUser = false, $dispatched = 0)
{
->disableOriginalConstructor()
->getMock();
+ $this->tagsAssigner = $this->getMockBuilder('Wallabag\CoreBundle\Helper\TagsAssigner')
+ ->disableOriginalConstructor()
+ ->getMock();
+
$dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher')
->disableOriginalConstructor()
->getMock();
->expects($this->exactly($dispatched))
->method('dispatch');
- $wallabag = new WallabagV1Import($this->em, $this->contentProxy, $dispatcher);
+ $wallabag = new WallabagV1Import($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher);
$this->logHandler = new TestHandler();
$logger = new Logger('test', [$this->logHandler]);
protected $em;
protected $logHandler;
protected $contentProxy;
+ protected $tagsAssigner;
+ protected $uow;
private function getWallabagV2Import($unsetUser = false, $dispatched = 0)
{
->disableOriginalConstructor()
->getMock();
+ $this->tagsAssigner = $this->getMockBuilder('Wallabag\CoreBundle\Helper\TagsAssigner')
+ ->disableOriginalConstructor()
+ ->getMock();
+
$dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher')
->disableOriginalConstructor()
->getMock();
->expects($this->exactly($dispatched))
->method('dispatch');
- $wallabag = new WallabagV2Import($this->em, $this->contentProxy, $dispatcher);
+ $wallabag = new WallabagV2Import($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher);
$this->logHandler = new TestHandler();
$logger = new Logger('test', [$this->logHandler]);