/** * @dataProvider authenticateDataProvider * @param string $usernameIn * @param string $usernameOut * @param bool $expectedResult * @return void */ public function testAuthenticate($usernameIn, $usernameOut, $expectedResult) { $password = '******'; $config = 'config'; $data = ['id' => 1, 'is_active' => 1, 'username' => $usernameOut]; $this->configMock->expects($this->once())->method('isSetFlag')->with('admin/security/use_case_sensitive_login')->willReturn($config); $this->eventManagerMock->expects($this->any())->method('dispatch'); $this->resourceMock->expects($this->any())->method('loadByUsername')->willReturn($data); $this->model->setIdFieldName('id'); $this->encryptorMock->expects($this->any())->method('validateHash')->willReturn(true); $this->resourceMock->expects($this->any())->method('hasAssigned2Role')->willReturn(true); $this->assertEquals($expectedResult, $this->model->authenticate($usernameIn, $password)); }