aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/Wallabag/ImportBundle/Import/InstapaperImportTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Wallabag/ImportBundle/Import/InstapaperImportTest.php')
-rw-r--r--tests/Wallabag/ImportBundle/Import/InstapaperImportTest.php42
1 files changed, 31 insertions, 11 deletions
diff --git a/tests/Wallabag/ImportBundle/Import/InstapaperImportTest.php b/tests/Wallabag/ImportBundle/Import/InstapaperImportTest.php
index e262a808..9158c8a2 100644
--- a/tests/Wallabag/ImportBundle/Import/InstapaperImportTest.php
+++ b/tests/Wallabag/ImportBundle/Import/InstapaperImportTest.php
@@ -17,6 +17,8 @@ class InstapaperImportTest extends \PHPUnit_Framework_TestCase
17 protected $em; 17 protected $em;
18 protected $logHandler; 18 protected $logHandler;
19 protected $contentProxy; 19 protected $contentProxy;
20 protected $tagsAssigner;
21 protected $uow;
20 22
21 private function getInstapaperImport($unsetUser = false, $dispatched = 0) 23 private function getInstapaperImport($unsetUser = false, $dispatched = 0)
22 { 24 {
@@ -26,10 +28,28 @@ class InstapaperImportTest extends \PHPUnit_Framework_TestCase
26 ->disableOriginalConstructor() 28 ->disableOriginalConstructor()
27 ->getMock(); 29 ->getMock();
28 30
31 $this->uow = $this->getMockBuilder('Doctrine\ORM\UnitOfWork')
32 ->disableOriginalConstructor()
33 ->getMock();
34
35 $this->em
36 ->expects($this->any())
37 ->method('getUnitOfWork')
38 ->willReturn($this->uow);
39
40 $this->uow
41 ->expects($this->any())
42 ->method('getScheduledEntityInsertions')
43 ->willReturn([]);
44
29 $this->contentProxy = $this->getMockBuilder('Wallabag\CoreBundle\Helper\ContentProxy') 45 $this->contentProxy = $this->getMockBuilder('Wallabag\CoreBundle\Helper\ContentProxy')
30 ->disableOriginalConstructor() 46 ->disableOriginalConstructor()
31 ->getMock(); 47 ->getMock();
32 48
49 $this->tagsAssigner = $this->getMockBuilder('Wallabag\CoreBundle\Helper\TagsAssigner')
50 ->disableOriginalConstructor()
51 ->getMock();
52
33 $dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher') 53 $dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher')
34 ->disableOriginalConstructor() 54 ->disableOriginalConstructor()
35 ->getMock(); 55 ->getMock();
@@ -38,7 +58,7 @@ class InstapaperImportTest extends \PHPUnit_Framework_TestCase
38 ->expects($this->exactly($dispatched)) 58 ->expects($this->exactly($dispatched))
39 ->method('dispatch'); 59 ->method('dispatch');
40 60
41 $import = new InstapaperImport($this->em, $this->contentProxy, $dispatcher); 61 $import = new InstapaperImport($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher);
42 62
43 $this->logHandler = new TestHandler(); 63 $this->logHandler = new TestHandler();
44 $logger = new Logger('test', [$this->logHandler]); 64 $logger = new Logger('test', [$this->logHandler]);
@@ -62,14 +82,14 @@ class InstapaperImportTest extends \PHPUnit_Framework_TestCase
62 82
63 public function testImport() 83 public function testImport()
64 { 84 {
65 $instapaperImport = $this->getInstapaperImport(false, 3); 85 $instapaperImport = $this->getInstapaperImport(false, 4);
66 $instapaperImport->setFilepath(__DIR__.'/../fixtures/instapaper-export.csv'); 86 $instapaperImport->setFilepath(__DIR__.'/../fixtures/instapaper-export.csv');
67 87
68 $entryRepo = $this->getMockBuilder('Wallabag\CoreBundle\Repository\EntryRepository') 88 $entryRepo = $this->getMockBuilder('Wallabag\CoreBundle\Repository\EntryRepository')
69 ->disableOriginalConstructor() 89 ->disableOriginalConstructor()
70 ->getMock(); 90 ->getMock();
71 91
72 $entryRepo->expects($this->exactly(3)) 92 $entryRepo->expects($this->exactly(4))
73 ->method('findByUrlAndUserId') 93 ->method('findByUrlAndUserId')
74 ->willReturn(false); 94 ->willReturn(false);
75 95
@@ -83,14 +103,14 @@ class InstapaperImportTest extends \PHPUnit_Framework_TestCase
83 ->getMock(); 103 ->getMock();
84 104
85 $this->contentProxy 105 $this->contentProxy
86 ->expects($this->exactly(3)) 106 ->expects($this->exactly(4))
87 ->method('updateEntry') 107 ->method('updateEntry')
88 ->willReturn($entry); 108 ->willReturn($entry);
89 109
90 $res = $instapaperImport->import(); 110 $res = $instapaperImport->import();
91 111
92 $this->assertTrue($res); 112 $this->assertTrue($res);
93 $this->assertEquals(['skipped' => 0, 'imported' => 3, 'queued' => 0], $instapaperImport->getSummary()); 113 $this->assertEquals(['skipped' => 0, 'imported' => 4, 'queued' => 0], $instapaperImport->getSummary());
94 } 114 }
95 115
96 public function testImportAndMarkAllAsRead() 116 public function testImportAndMarkAllAsRead()
@@ -102,9 +122,9 @@ class InstapaperImportTest extends \PHPUnit_Framework_TestCase
102 ->disableOriginalConstructor() 122 ->disableOriginalConstructor()
103 ->getMock(); 123 ->getMock();
104 124
105 $entryRepo->expects($this->exactly(3)) 125 $entryRepo->expects($this->exactly(4))
106 ->method('findByUrlAndUserId') 126 ->method('findByUrlAndUserId')
107 ->will($this->onConsecutiveCalls(false, true, true)); 127 ->will($this->onConsecutiveCalls(false, true, true, true));
108 128
109 $this->em 129 $this->em
110 ->expects($this->any()) 130 ->expects($this->any())
@@ -128,7 +148,7 @@ class InstapaperImportTest extends \PHPUnit_Framework_TestCase
128 148
129 $this->assertTrue($res); 149 $this->assertTrue($res);
130 150
131 $this->assertEquals(['skipped' => 2, 'imported' => 1, 'queued' => 0], $instapaperImport->getSummary()); 151 $this->assertEquals(['skipped' => 3, 'imported' => 1, 'queued' => 0], $instapaperImport->getSummary());
132 } 152 }
133 153
134 public function testImportWithRabbit() 154 public function testImportWithRabbit()
@@ -160,7 +180,7 @@ class InstapaperImportTest extends \PHPUnit_Framework_TestCase
160 ->getMock(); 180 ->getMock();
161 181
162 $producer 182 $producer
163 ->expects($this->exactly(3)) 183 ->expects($this->exactly(4))
164 ->method('publish'); 184 ->method('publish');
165 185
166 $instapaperImport->setProducer($producer); 186 $instapaperImport->setProducer($producer);
@@ -168,7 +188,7 @@ class InstapaperImportTest extends \PHPUnit_Framework_TestCase
168 $res = $instapaperImport->setMarkAsRead(true)->import(); 188 $res = $instapaperImport->setMarkAsRead(true)->import();
169 189
170 $this->assertTrue($res); 190 $this->assertTrue($res);
171 $this->assertEquals(['skipped' => 0, 'imported' => 0, 'queued' => 3], $instapaperImport->getSummary()); 191 $this->assertEquals(['skipped' => 0, 'imported' => 0, 'queued' => 4], $instapaperImport->getSummary());
172 } 192 }
173 193
174 public function testImportWithRedis() 194 public function testImportWithRedis()
@@ -206,7 +226,7 @@ class InstapaperImportTest extends \PHPUnit_Framework_TestCase
206 $res = $instapaperImport->setMarkAsRead(true)->import(); 226 $res = $instapaperImport->setMarkAsRead(true)->import();
207 227
208 $this->assertTrue($res); 228 $this->assertTrue($res);
209 $this->assertEquals(['skipped' => 0, 'imported' => 0, 'queued' => 3], $instapaperImport->getSummary()); 229 $this->assertEquals(['skipped' => 0, 'imported' => 0, 'queued' => 4], $instapaperImport->getSummary());
210 230
211 $this->assertNotEmpty($redisMock->lpop('instapaper')); 231 $this->assertNotEmpty($redisMock->lpop('instapaper'));
212 } 232 }