diff options
Diffstat (limited to 'tests/Wallabag/ImportBundle/Import/InstapaperImportTest.php')
-rw-r--r-- | tests/Wallabag/ImportBundle/Import/InstapaperImportTest.php | 42 |
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 | } |