RssManagerTest.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Rss\Test\Unit\Model;
  7. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
  8. class RssManagerTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \Magento\Rss\Model\RssManager
  12. */
  13. protected $rssManager;
  14. /**
  15. * @var \Magento\Framework\ObjectManagerInterface|\PHPUnit_Framework_MockObject_MockObject
  16. */
  17. protected $objectManager;
  18. protected function setUp()
  19. {
  20. $this->objectManager = $this->createMock(\Magento\Framework\ObjectManagerInterface::class);
  21. $objectManagerHelper = new ObjectManagerHelper($this);
  22. $this->rssManager = $objectManagerHelper->getObject(
  23. \Magento\Rss\Model\RssManager::class,
  24. [
  25. 'objectManager' => $this->objectManager,
  26. 'dataProviders' => [
  27. 'rss_feed' => \Magento\Framework\App\Rss\DataProviderInterface::class,
  28. 'bad_rss_feed' => 'Some\Class\Not\Existent',
  29. ]
  30. ]
  31. );
  32. }
  33. public function testGetProvider()
  34. {
  35. $dataProvider = $this->createMock(\Magento\Framework\App\Rss\DataProviderInterface::class);
  36. $this->objectManager->expects($this->once())->method('get')->will($this->returnValue($dataProvider));
  37. $this->assertInstanceOf(
  38. \Magento\Framework\App\Rss\DataProviderInterface::class,
  39. $this->rssManager->getProvider('rss_feed')
  40. );
  41. }
  42. public function testGetProviderFirstException()
  43. {
  44. $this->expectException('InvalidArgumentException');
  45. $this->rssManager->getProvider('wrong_rss_feed');
  46. }
  47. public function testGetProviderSecondException()
  48. {
  49. $this->expectException('InvalidArgumentException');
  50. $this->rssManager->getProvider('bad_rss_feed');
  51. }
  52. }