diff options
Diffstat (limited to 'tests/Unit/Service/UpdaterTest.php')
-rw-r--r-- | tests/Unit/Service/UpdaterTest.php | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/tests/Unit/Service/UpdaterTest.php b/tests/Unit/Service/UpdaterTest.php new file mode 100644 index 000000000..b4be0a7cc --- /dev/null +++ b/tests/Unit/Service/UpdaterTest.php @@ -0,0 +1,86 @@ +<?php +/** + * Nextcloud - News + * + * This file is licensed under the Affero General Public License version 3 or + * later. See the COPYING file. + * + * @author Alessandro Cosentino <cosenal@gmail.com> + * @author Bernhard Posselt <dev@bernhard-posselt.com> + * @copyright 2012 Alessandro Cosentino + * @copyright 2012-2014 Bernhard Posselt + */ + +namespace OCA\News\Tests\Unit\Service; + +use OCA\News\Service\FeedServiceV2; +use OCA\News\Service\FolderServiceV2; +use OCA\News\Service\ItemServiceV2; +use OCA\News\Service\UpdaterService; +use PHPUnit\Framework\TestCase; + +class UpdaterTest extends TestCase +{ + + /** + * @var \PHPUnit\Framework\MockObject\MockObject|FolderServiceV2 + */ + private $folderService; + + /** + * @var \PHPUnit\Framework\MockObject\MockObject|FeedServiceV2 + */ + private $feedService; + + /** + * @var \PHPUnit\Framework\MockObject\MockObject|ItemServiceV2 + */ + private $itemService; + + /** + * @var UpdaterService + */ + private $updater; + + protected function setUp(): void + { + $this->folderService = $this->getMockBuilder(FolderServiceV2::class) + ->disableOriginalConstructor() + ->getMock(); + $this->feedService = $this->getMockBuilder(FeedServiceV2::class) + ->disableOriginalConstructor() + ->getMock(); + $this->itemService = $this->getMockBuilder(ItemServiceV2::class) + ->disableOriginalConstructor() + ->getMock(); + $this->updater = new UpdaterService( + $this->folderService, + $this->feedService, + $this->itemService + ); + } + + public function testBeforeUpdate() + { + $this->folderService->expects($this->once()) + ->method('purgeDeleted'); + $this->feedService->expects($this->once()) + ->method('purgeDeleted'); + $this->updater->beforeUpdate(); + } + + + public function testAfterUpdate() + { + $this->itemService->expects($this->once()) + ->method('purgeOverThreshold'); + $this->updater->afterUpdate(); + } + + public function testUpdate() + { + $this->feedService->expects($this->once()) + ->method('fetchAll'); + $this->updater->update(); + } +}
\ No newline at end of file |