![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/module-customer/Test/Unit/Setup/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Customer\Test\Unit\Setup; use Magento\Customer\Model\Customer; use Magento\Customer\Setup\RecurringData; use Magento\Framework\Indexer\IndexerInterface; use Magento\Framework\Indexer\IndexerRegistry; use Magento\Framework\Indexer\StateInterface; use Magento\Framework\Setup\ModuleContextInterface; use Magento\Framework\Setup\ModuleDataSetupInterface; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * Test for recurring data */ class RecurringDataTest extends TestCase { /** * @var ObjectManagerHelper */ private $objectManagerHelper; /** * @var IndexerInterface|MockObject */ private $indexer; /** * @var StateInterface|MockObject */ private $state; /** * @var IndexerRegistry|MockObject */ private $indexerRegistry; /** * @var ModuleDataSetupInterface|MockObject */ private $setup; /** * @var ModuleContextInterface|MockObject */ private $context; /** * @var RecurringData */ private $recurringData; /** * @inheritdoc */ protected function setUp(): void { $this->objectManagerHelper = new ObjectManagerHelper($this); $this->state = $this->getMockBuilder(StateInterface::class) ->setMethods(['getStatus']) ->getMockForAbstractClass(); $this->indexer = $this->getMockBuilder(IndexerInterface::class) ->setMethods(['getState', 'reindexAll']) ->getMockForAbstractClass(); $this->indexer->expects($this->any()) ->method('getState') ->willReturn($this->state); $this->indexerRegistry = $this->getMockBuilder(IndexerRegistry::class) ->disableOriginalConstructor() ->setMethods(['get']) ->getMock(); $this->indexerRegistry->expects($this->any()) ->method('get') ->with(Customer::CUSTOMER_GRID_INDEXER_ID) ->willReturn($this->indexer); $this->setup = $this->getMockBuilder(ModuleDataSetupInterface::class) ->setMethods(['tableExists']) ->getMockForAbstractClass(); $this->context = $this->getMockBuilder(ModuleContextInterface::class) ->getMockForAbstractClass(); $this->recurringData = $this->objectManagerHelper->getObject( RecurringData::class, [ 'indexerRegistry' => $this->indexerRegistry ] ); } /** * @param bool $isTableExists * @param string $indexerState * @param int $countReindex * @return void * @dataProvider installDataProvider */ public function testInstall(bool $isTableExists, string $indexerState, int $countReindex) { $this->setup->expects($this->any()) ->method('tableExists') ->with('customer_grid_flat') ->willReturn($isTableExists); $this->state->expects($this->any()) ->method('getStatus') ->willReturn($indexerState); $this->indexer->expects($this->exactly($countReindex)) ->method('reindexAll'); $this->recurringData->install($this->setup, $this->context); } /** * @return array */ public function installDataProvider() : array { return [ [true, StateInterface::STATUS_INVALID, 1], [false, StateInterface::STATUS_INVALID, 1], [true, StateInterface::STATUS_VALID, 0], [false, StateInterface::STATUS_VALID, 1], ]; } }