| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- <?php
- use App\Entity\Access\Access;
- use App\Service\Access\OptionalsRolesInterface;
- use App\Service\ServiceIterator\OptionalsRolesIterator;
- use PHPUnit\Framework\TestCase;
- class OptionalsRolesIteratorTest extends TestCase
- {
- public function testAddWhere() {
- $access = $this->getMockBuilder(Access::class)
- ->disableOriginalConstructor()
- ->getMock();
- $mocker = $this->getMockBuilder(OptionalsRolesInterface::class);
- $role1 = $mocker->getMock();
- $role1->method('support')->willReturn(false);
- $role2 = $mocker->getMock();
- $role2->method('support')->with($access)->willReturn(true);
- $role2->expects($this->once())->method('getRole')->willReturn('ROLE2');
- $role3 = $mocker->getMock();
- $role3->method('support')->willReturn(false);
- $role4 = $mocker->getMock();
- $role4->method('support')->with($access)->willReturn(true);
- $role4->expects($this->once())->method('getRole')->willReturn('ROLE4');
- $roles = [$role1, $role2, $role3, $role4];
- $iterator = new OptionalsRolesIterator($roles);
- $actualRoles = $iterator->getOptionalsRoles($access);
- $this->assertEquals(['ROLE2', 'ROLE4'], $actualRoles);
- $roles = [$role1, $role3];
- $iterator = new OptionalsRolesIterator($roles);
- $actualRoles = $iterator->getOptionalsRoles($access);
- $this->assertEquals([], $actualRoles);
- }
- }
|