| 123456789101112131415161718192021222324252627282930313233343536373839 |
- <?php
- use App\Doctrine\Access\AccessExtensionInterface;
- use App\Service\ServiceIterator\CurrentAccessExtensionIterator;
- use Doctrine\ORM\QueryBuilder;
- use PHPUnit\Framework\TestCase;
- class CurrentAccessExtensionIteratorTest extends TestCase
- {
- public function testAddWhere(): void
- {
- $queryBuilder = $this->getMockBuilder(QueryBuilder::class)
- ->disableOriginalConstructor()
- ->getMock();
- $mocker = $this->getMockBuilder(AccessExtensionInterface::class);
- $ext1 = $mocker->getMock();
- $ext1->method('support')->willReturn(false);
- $ext2 = $mocker->getMock();
- $ext2->method('support')->with('foo')->willReturn(true);
- $ext2->expects($this->once())->method('addWhere')->with($queryBuilder)->willReturn(true);
- $ext3 = $mocker->getMock();
- $ext3->method('support')->willReturn(false);
- $extensions = [$ext1, $ext2, $ext3];
- $iterator = $this->getMockBuilder(CurrentAccessExtensionIterator::class)
- ->setConstructorArgs([$extensions])
- ->setMethodsExcept(['addWhere'])
- ->getMock();
- $actualExt = $iterator->addWhere($queryBuilder, 'foo');
- $this->assertEquals(true, $actualExt);
- }
- }
|