JobFactoryTest.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /**
  3. * Copyright © 2013-2017 Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Update\Queue;
  7. use Magento\Update\Queue\JobFactory;
  8. class JobFactoryTest extends \PHPUnit_Framework_TestCase
  9. {
  10. /**
  11. * @var JobFactory
  12. */
  13. protected $jobFactory;
  14. protected function setUp()
  15. {
  16. parent::setUp();
  17. $this->jobFactory = new JobFactory();
  18. }
  19. /**
  20. * @dataProvider createProvider
  21. */
  22. public function testCreate($jobName, $expectedJobClass)
  23. {
  24. $job = $this->jobFactory->create($jobName, []);
  25. $this->assertInstanceOf($expectedJobClass, $job);
  26. }
  27. public function createProvider()
  28. {
  29. return [
  30. 'Update Job' => [JobFactory::NAME_UPDATE, '\Magento\Update\Queue\JobUpdate'],
  31. 'Backup Job' => [JobFactory::NAME_BACKUP, '\Magento\Update\Queue\JobBackup'],
  32. 'Rollback Job' => [JobFactory::NAME_ROLLBACK, '\Magento\Update\Queue\JobRollback'],
  33. 'Remove backups Job' => [JobFactory::NAME_REMOVE_BACKUPS, '\Magento\Update\Queue\JobRemoveBackups'],
  34. 'Uninstall Job' => [JobFactory::NAME_UNINSTALL, '\Magento\Update\Queue\JobComponentUninstall'],
  35. ];
  36. }
  37. public function testCreateInvalidJob()
  38. {
  39. $this->setExpectedException(
  40. '\RuntimeException',
  41. '"invalid" job is not supported.'
  42. );
  43. $this->jobFactory->create('invalid', []);
  44. }
  45. }