UnionRendererTest.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  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\DB\Select;
  8. class UnionRendererTest extends \PHPUnit\Framework\TestCase
  9. {
  10. public function testRender()
  11. {
  12. $model = new \Magento\Framework\DB\Select\UnionRenderer();
  13. $select = $this->getMockBuilder(\Magento\Framework\DB\Select::class)
  14. ->disableOriginalConstructor()
  15. ->getMock();
  16. $selectPart = $this->getMockBuilder(\Magento\Framework\DB\Select::class)
  17. ->disableOriginalConstructor()
  18. ->getMock();
  19. $selectPart->expects($this->exactly(2))
  20. ->method('assemble')
  21. ->willReturnMap([['UNION (some select) as'], ['UNION (some select2)']]);
  22. $parts = [
  23. [$selectPart, 'type1'],
  24. [$selectPart, 'type2']
  25. ];
  26. $select->expects($this->any())
  27. ->method('getPart')
  28. ->with(Select::UNION)
  29. ->willReturn($parts);
  30. $this->assertEquals('UNION (some select) as type1 UNION (some select) as', $model->render($select));
  31. }
  32. }