]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - tests/Wallabag/CoreBundle/Helper/RuleBasedTaggerTest.php
Use namespaced PHPUnit classes
[github/wallabag/wallabag.git] / tests / Wallabag / CoreBundle / Helper / RuleBasedTaggerTest.php
index 522cf3b36c397a378eeaf0539c9185d35927d5f5..74b28bbb873dd90c5ec605564c83ae29c18a279f 100644 (file)
@@ -2,7 +2,9 @@
 
 namespace Tests\Wallabag\CoreBundle\Helper;
 
-use Psr\Log\NullLogger;
+use Monolog\Handler\TestHandler;
+use Monolog\Logger;
+use PHPUnit\Framework\TestCase;
 use Wallabag\CoreBundle\Entity\Config;
 use Wallabag\CoreBundle\Entity\Entry;
 use Wallabag\CoreBundle\Entity\Tag;
@@ -10,20 +12,25 @@ use Wallabag\CoreBundle\Entity\TaggingRule;
 use Wallabag\CoreBundle\Helper\RuleBasedTagger;
 use Wallabag\UserBundle\Entity\User;
 
-class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
+class RuleBasedTaggerTest extends TestCase
 {
     private $rulerz;
     private $tagRepository;
     private $entryRepository;
     private $tagger;
+    private $logger;
+    private $handler;
 
     public function setUp()
     {
         $this->rulerz = $this->getRulerZMock();
         $this->tagRepository = $this->getTagRepositoryMock();
         $this->entryRepository = $this->getEntryRepositoryMock();
+        $this->logger = $this->getLogger();
+        $this->handler = new TestHandler();
+        $this->logger->pushHandler($this->handler);
 
-        $this->tagger = new RuleBasedTagger($this->rulerz, $this->tagRepository, $this->entryRepository, $this->getLogger());
+        $this->tagger = new RuleBasedTagger($this->rulerz, $this->tagRepository, $this->entryRepository, $this->logger);
     }
 
     public function testTagWithNoRule()
@@ -33,6 +40,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
         $this->tagger->tag($entry);
 
         $this->assertTrue($entry->getTags()->isEmpty());
+        $records = $this->handler->getRecords();
+        $this->assertCount(0, $records);
     }
 
     public function testTagWithNoMatchingRule()
@@ -50,6 +59,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
         $this->tagger->tag($entry);
 
         $this->assertTrue($entry->getTags()->isEmpty());
+        $records = $this->handler->getRecords();
+        $this->assertCount(0, $records);
     }
 
     public function testTagWithAMatchingRule()
@@ -71,6 +82,9 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
         $tags = $entry->getTags();
         $this->assertSame('foo', $tags[0]->getLabel());
         $this->assertSame('bar', $tags[1]->getLabel());
+
+        $records = $this->handler->getRecords();
+        $this->assertCount(1, $records);
     }
 
     public function testTagWithAMixOfMatchingRules()
@@ -91,6 +105,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
 
         $tags = $entry->getTags();
         $this->assertSame('foo', $tags[0]->getLabel());
+        $records = $this->handler->getRecords();
+        $this->assertCount(1, $records);
     }
 
     public function testWhenTheTagExists()
@@ -119,6 +135,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
 
         $tags = $entry->getTags();
         $this->assertSame($tag, $tags[0]);
+        $records = $this->handler->getRecords();
+        $this->assertCount(1, $records);
     }
 
     public function testSameTagWithDifferentfMatchingRules()
@@ -139,6 +157,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
 
         $tags = $entry->getTags();
         $this->assertCount(1, $tags);
+        $records = $this->handler->getRecords();
+        $this->assertCount(2, $records);
     }
 
     public function testTagAllEntriesForAUser()
@@ -163,7 +183,7 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
             $tags = $entry->getTags();
 
             $this->assertCount(1, $tags);
-            $this->assertEquals('hey', $tags[0]->getLabel());
+            $this->assertSame('hey', $tags[0]->getLabel());
         }
     }
 
@@ -213,6 +233,6 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
 
     private function getLogger()
     {
-        return new NullLogger();
+        return new Logger('foo');
     }
 }