Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CompositeBaseSelectProcessorTest.php
Go to the documentation of this file.
1 <?php
7 
12 
13 class CompositeBaseSelectProcessorTest extends \PHPUnit\Framework\TestCase
14 {
18  private $objectManager;
19 
20  protected function setUp()
21  {
22  $this->objectManager = new ObjectManager($this);
23  }
24 
29  {
30  $processorValid = $this->createMock(BaseSelectProcessorInterface::class);
31  $processorInvalid = $this->createMock(\stdClass::class);
32 
33  $this->objectManager->getObject(CompositeBaseSelectProcessor::class, [
34  'baseSelectProcessors' => [$processorValid, $processorInvalid],
35  ]);
36  }
37 
38  public function testProcess()
39  {
40  $select = $this->getMockBuilder(Select::class)->disableOriginalConstructor()->getMock();
41 
42  $processorFirst = $this->createMock(BaseSelectProcessorInterface::class);
43  $processorFirst->expects($this->once())->method('process')->with($select)->willReturn($select);
44 
45  $processorSecond = $this->createMock(BaseSelectProcessorInterface::class);
46  $processorSecond->expects($this->once())->method('process')->with($select)->willReturn($select);
47 
49  $baseSelectProcessors = $this->objectManager->getObject(CompositeBaseSelectProcessor::class, [
50  'baseSelectProcessors' => [$processorFirst, $processorSecond],
51  ]);
52  $this->assertEquals($select, $baseSelectProcessors->process($select));
53  }
54 }