CompositeQueryModifierTest.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\DB\Test\Unit\Select;
  7. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
  8. use Magento\Framework\DB\Select;
  9. use Magento\Framework\DB\Select\QueryModifierInterface;
  10. use Magento\Framework\DB\Select\CompositeQueryModifier;
  11. class CompositeQueryModifierTest extends \PHPUnit\Framework\TestCase
  12. {
  13. /**
  14. * @var ObjectManager
  15. */
  16. private $objectManager;
  17. protected function setUp()
  18. {
  19. $this->objectManager = new ObjectManager($this);
  20. }
  21. public function testModify()
  22. {
  23. $queryModifierMockOne = $this->createMock(QueryModifierInterface::class);
  24. $queryModifierMockTwo = $this->createMock(QueryModifierInterface::class);
  25. $selectMock = $this->createMock(Select::class);
  26. $queryModifierMockOne->expects($this->once())
  27. ->method('modify')
  28. ->with($selectMock);
  29. $queryModifierMockTwo->expects($this->once())
  30. ->method('modify')
  31. ->with($selectMock);
  32. $compositeQueryModifier = $this->objectManager->getObject(
  33. CompositeQueryModifier::class,
  34. [
  35. 'queryModifiers' => [
  36. $queryModifierMockOne,
  37. $queryModifierMockTwo
  38. ]
  39. ]
  40. );
  41. $compositeQueryModifier->modify($selectMock);
  42. }
  43. }