/** * @dataProvider provideUserCanAuthenticate * @param bool $primary1Can * @param bool $primary2Can * @param bool $expect */ public function testUserCanAuthenticate($primary1Can, $primary2Can, $expect) { $mock1 = $this->getMockForAbstractClass(PrimaryAuthenticationProvider::class); $mock1->expects($this->any())->method('getUniqueId')->will($this->returnValue('primary1')); $mock1->expects($this->any())->method('testUserCanAuthenticate')->with($this->equalTo('UTSysop'))->will($this->returnValue($primary1Can)); $mock2 = $this->getMockForAbstractClass(PrimaryAuthenticationProvider::class); $mock2->expects($this->any())->method('getUniqueId')->will($this->returnValue('primary2')); $mock2->expects($this->any())->method('testUserCanAuthenticate')->with($this->equalTo('UTSysop'))->will($this->returnValue($primary2Can)); $this->primaryauthMocks = [$mock1, $mock2]; $this->initializeManager(true); $this->assertSame($expect, $this->manager->userCanAuthenticate('UTSysop')); }