DependencyTest.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\SampleData\Model;
  7. use Magento\Framework\Composer\ComposerInformation;
  8. use Magento\Framework\Component\ComponentRegistrar;
  9. use Magento\Framework\Filesystem;
  10. use Magento\Framework\Config\Composer\PackageFactory;
  11. class DependencyTest extends \PHPUnit\Framework\TestCase
  12. {
  13. /**
  14. * @var \Magento\SampleData\Model\Dependency
  15. */
  16. private $model;
  17. /**
  18. * @var ComposerInformation|\PHPUnit_Framework_MockObject_MockObject
  19. */
  20. private $composerInformationMock;
  21. /**
  22. * @var ComponentRegistrar|\PHPUnit_Framework_MockObject_MockObject
  23. */
  24. private $componentRegistrarMock;
  25. protected function setUp()
  26. {
  27. $this->composerInformationMock = $this->getMockBuilder(ComposerInformation::class)
  28. ->disableOriginalConstructor()
  29. ->disableOriginalClone()
  30. ->getMock();
  31. $this->componentRegistrarMock = $this->getMockBuilder(ComponentRegistrar::class)
  32. ->disableOriginalConstructor()
  33. ->disableOriginalClone()
  34. ->getMock();
  35. $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  36. $this->model = $objectManager->create(
  37. \Magento\SampleData\Model\Dependency::class,
  38. [
  39. 'composerInformation' => $this->composerInformationMock,
  40. 'filesystem' => $objectManager->get(Filesystem::class),
  41. 'packageFactory' => $objectManager->get(PackageFactory::class),
  42. 'componentRegistrar' => $this->componentRegistrarMock
  43. ]
  44. );
  45. }
  46. public function testGetSampleDataPackages()
  47. {
  48. $this->composerInformationMock->expects($this->once())
  49. ->method('getSuggestedPackages')
  50. ->willReturn([]);
  51. $this->componentRegistrarMock->expects($this->once())
  52. ->method('getPaths')
  53. ->with(ComponentRegistrar::MODULE)
  54. ->willReturn([
  55. __DIR__ . '/../_files/Modules/FirstModule',
  56. __DIR__ . '/../_files/Modules/SecondModule',
  57. __DIR__ . '/../_files/Modules/ThirdModule',
  58. __DIR__ . '/../_files/Modules/FourthModule'
  59. ]);
  60. $this->assertSame(
  61. ['magento/module-first-sample-data' => '777.7.*'],
  62. $this->model->getSampleDataPackages()
  63. );
  64. }
  65. }