/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
dev/tests/integration/testsuite/Magento/Setup/Console/Command/GenerateFixturesCommandTest.php
147 строк
4 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 10:44
22 окт 2025, 10:44
264bea2
Код
Авторство
О чём код?
<?php /** * Copyright 2018 Adobe * All Rights Reserved. */ namespace Magento\Setup\Console\Command; use Magento\Framework\App\ObjectManagerFactory; use Magento\Framework\App\ResourceConnection; use Magento\Framework\Console\Cli; use Magento\Framework\ObjectManagerInterface; use Magento\Indexer\Console\Command\IndexerReindexCommand; use Magento\Setup\Fixtures\FixtureModel; use Magento\TestFramework\Helper\Bootstrap; use Symfony\Component\Console\Tester\CommandTester; /** * Class GenerateFixturesCommandCommandTest * * @magentoDbIsolation disabled */ class GenerateFixturesCommandTest extends \Magento\TestFramework\Indexer\TestCase { /** @var CommandTester */ private $indexerCommand; /** @var FixtureModel */ private $fixtureModelMock; /** @var ObjectManagerInterface */ private $objectManager; /** @var GenerateFixturesCommand */ private $command; /** @var CommandTester */ private $commandTester; /** * Setup */ protected function setUp(): void { $this->objectManager = Bootstrap::getObjectManager(); $this->objectManager->get(\Magento\TestFramework\App\Config::class)->clean(); $this->fixtureModelMock = $this->getMockBuilder(FixtureModel::class) ->onlyMethods(['getObjectManager']) ->setConstructorArgs([$this->objectManager->get(IndexerReindexCommand::class)]) ->getMock(); $this->fixtureModelMock ->method('getObjectManager') ->willReturn($this->objectManager); $this->command = $this->objectManager->create( GenerateFixturesCommand::class, [ 'fixtureModel' => $this->fixtureModelMock ] ); $objectFactoryMock = $this->getMockBuilder(ObjectManagerFactory::class) ->onlyMethods(['create']) ->disableOriginalConstructor() ->getMock(); $objectFactoryMock ->method('create') ->willReturn($this->objectManager); $this->indexerCommand = new CommandTester($this->objectManager->create( IndexerReindexCommand::class, ['objectManagerFactory' => $objectFactoryMock] )); $this->commandTester = new CommandTester($this->command); $this->setIncrement(3); parent::setUp(); } /** * teardown */ protected function tearDown(): void { $this->setIncrement(1); self::restoreFromDb(); self::$dbRestored = true; parent::tearDown(); } public static function setUpBeforeClass(): void { $db = Bootstrap::getInstance()->getBootstrap() ->getApplication() ->getDbInstance(); if (!$db->isDbDumpExists()) { throw new \LogicException('DB dump does not exist.'); } $db->restoreFromDbDump(); parent::setUpBeforeClass(); } /** * @magentoAppArea adminhtml * @magentoAppIsolation enabled */ public function testExecute() { $profile = realpath(__DIR__ . "/_files/min_profile.xml"); $this->commandTester->execute( [ GenerateFixturesCommand::PROFILE_ARGUMENT => $profile, '--' . GenerateFixturesCommand::SKIP_REINDEX_OPTION => true ] ); $this->indexerCommand->execute([]); static::assertEquals( Cli::RETURN_SUCCESS, $this->indexerCommand->getStatusCode(), $this->indexerCommand->getDisplay(true) ); static::assertEquals( Cli::RETURN_SUCCESS, $this->commandTester->getStatusCode(), $this->commandTester->getDisplay(true) ); } /** * @param $value */ private function setIncrement($value) { /** @var \Magento\Framework\DB\Adapter\AdapterInterface $db */ $db = Bootstrap::getObjectManager()->get(ResourceConnection::class)->getConnection(); $db->query("SET @@session.auto_increment_increment=$value"); $db->query("SET @@session.auto_increment_offset=$value"); } }