_eventManagerMock = $this->createMock(\Magento\Framework\Event\ManagerInterface::class); $this->_credentialStorage = $this->getMockBuilder( \Magento\Backend\Model\Auth\Credential\StorageInterface::class ) ->setMethods(['getId']) ->getMockForAbstractClass(); $this->_modelFactoryMock = $this->createMock(\Magento\Framework\Data\Collection\ModelFactory::class); $objectManager = new ObjectManager($this); $this->_model = $objectManager->getObject( \Magento\Backend\Model\Auth::class, [ 'eventManager' => $this->_eventManagerMock, 'credentialStorage' => $this->_credentialStorage, 'modelFactory' => $this->_modelFactoryMock ] ); } /** * @expectedException \Magento\Framework\Exception\AuthenticationException */ public function testLoginFailed() { $this->_modelFactoryMock ->expects($this->once()) ->method('create') ->with(\Magento\Backend\Model\Auth\Credential\StorageInterface::class) ->will($this->returnValue($this->_credentialStorage)); $exceptionMock = new \Magento\Framework\Exception\LocalizedException( __( 'The account sign-in was incorrect or your account is disabled temporarily. ' . 'Please wait and try again later.' ) ); $this->_credentialStorage ->expects($this->once()) ->method('login') ->with('username', 'password') ->will($this->throwException($exceptionMock)); $this->_credentialStorage->expects($this->never())->method('getId'); $this->_eventManagerMock->expects($this->once())->method('dispatch')->with('backend_auth_user_login_failed'); $this->_model->login('username', 'password'); $this->expectExceptionMessage( 'The account sign-in was incorrect or your account is disabled temporarily. ' . 'Please wait and try again later.' ); } }