![]() 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/old/setup/src/Magento/Setup/Test/Unit/Model/Description/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Setup\Test\Unit\Model\Description; use Magento\Setup\Model\Description\Mixin\DescriptionMixinInterface; use Magento\Setup\Model\Description\Mixin\MixinFactory; use Magento\Setup\Model\Description\MixinManager; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class MixinManagerTest extends TestCase { /** * @var MixinManager */ private $mixinManager; /** * @var MockObject|MixinFactory */ private $mixinFactoryMock; protected function setUp(): void { $this->mixinFactoryMock = $this->createMock(MixinFactory::class); $this->mixinManager = new MixinManager($this->mixinFactoryMock); } public function testApply() { $description = '>o<'; $mixinList = ['x', 'y', 'z']; $xMixinMock = $this->getMockForAbstractClass( DescriptionMixinInterface::class ); $xMixinMock->expects($this->once()) ->method('apply') ->with($description) ->willReturn($description . 'x'); $yMixinMock = $this->getMockForAbstractClass( DescriptionMixinInterface::class ); $yMixinMock->expects($this->once()) ->method('apply') ->with($description . 'x') ->willReturn($description . 'xy'); $zMixinMock = $this->getMockForAbstractClass( DescriptionMixinInterface::class ); $zMixinMock->expects($this->once()) ->method('apply') ->with($description . 'xy') ->willReturn($description . 'xyz'); $this->mixinFactoryMock ->expects($this->exactly(count($mixinList))) ->method('create') ->withConsecutive( [$mixinList[0]], [$mixinList[1]], [$mixinList[2]] ) ->will( $this->onConsecutiveCalls( $xMixinMock, $yMixinMock, $zMixinMock ) ); $this->assertEquals( $description . 'xyz', $this->mixinManager->apply($description, $mixinList) ); } }