/**
  * @return void
  */
 public function testExecute()
 {
     $username = '******';
     $customerId = 1;
     $observerMock = $this->getMock('Magento\\Framework\\Event\\Observer', [], [], '', false);
     $eventMock = $this->getMock('Magento\\Framework\\Event', ['getData'], [], '', false);
     $observerMock->expects($this->once())->method('getEvent')->willReturn($eventMock);
     $eventMock->expects($this->once())->method('getData')->with('username')->willReturn($username);
     $this->customerRepositoryMock->expects($this->once())->method('get')->with($username)->willReturn($this->customerData);
     $this->customerData->expects($this->exactly(2))->method('getId')->willReturn($customerId);
     $this->accountManagementHelperMock->expects($this->once())->method('processCustomerLockoutData')->with($customerId);
     $this->customerRepositoryMock->expects($this->once())->method('save')->with($this->customerData);
     $this->observer->execute($observerMock);
 }
 /**
  * @return void
  */
 public function testExecute()
 {
     $customerId = 1;
     $observerMock = $this->getMock('Magento\\Framework\\Event\\Observer', [], [], '', false);
     $eventMock = $this->getMock('Magento\\Framework\\Event', ['getData'], [], '', false);
     $observerMock->expects($this->once())->method('getEvent')->willReturn($eventMock);
     $eventMock->expects($this->once())->method('getData')->with('model')->willReturn($this->customerModelMock);
     $this->customerModelMock->expects($this->once())->method('getId')->willReturn($customerId);
     $this->customerRepositoryMock->expects($this->once())->method('getById')->willReturn($this->customerDataMock);
     $this->customerDataMock->expects($this->once())->method('getId')->willReturn($customerId);
     $this->accountManagementHelperMock->expects($this->once())->method('processUnlockData')->with($customerId);
     $this->customerRepositoryMock->expects($this->once())->method('save')->with($this->customerDataMock);
     $this->customerLoginSuccessObserver->execute($observerMock);
 }
 /**
  * @return void
  */
 public function testExecuteWithException()
 {
     $customerId = 1;
     $phrase = new \Magento\Framework\Phrase('some error');
     $this->requestMock->expects($this->once())->method('getParam')->with($this->equalTo('customer_id'))->will($this->returnValue($customerId));
     $this->customerRepositoryMock->expects($this->once())->method('getById')->with($customerId)->willReturn($this->customerDataMock);
     $this->accountManagementHelperMock->expects($this->once())->method('processUnlockData')->with($customerId)->willThrowException(new \Exception($phrase));
     $this->messageManagerMock->expects($this->once())->method('addError');
     $this->controller->execute();
 }
 /**
  * @return void
  */
 public function testAuthenticate()
 {
     $username = '******';
     $password = '******';
     $customerData = $this->getMockBuilder('Magento\\Customer\\Api\\Data\\CustomerInterface')->getMock();
     $customerModel = $this->getMockBuilder('Magento\\Customer\\Model\\Customer')->disableOriginalConstructor()->getMock();
     $customerModel->expects($this->once())->method('updateData')->willReturn($customerModel);
     $this->customerRepository->expects($this->once())->method('get')->with($username)->willReturn($customerData);
     $this->accountManagementHelper->expects($this->once())->method('checkIfLocked')->with($customerData);
     $this->accountManagementHelper->expects($this->once())->method('validatePasswordAndLockStatus')->with($customerData, $password);
     $this->customerFactory->expects($this->once())->method('create')->willReturn($customerModel);
     $this->manager->expects($this->exactly(2))->method('dispatch')->withConsecutive(['customer_customer_authenticated', ['model' => $customerModel, 'password' => $password]], ['customer_data_object_login', ['customer' => $customerData]]);
     $this->assertEquals($customerData, $this->accountManagement->authenticate($username, $password));
 }
 /**
  * @return void
  */
 public function testGetRequiredCharacterClassesNumber()
 {
     $requiredCharacterClassesNumber = '4';
     $this->scopeConfigMock->expects($this->once())->method('getValue')->with(AccountManagement::XML_PATH_REQUIRED_CHARACTER_CLASSES_NUMBER)->willReturn($requiredCharacterClassesNumber);
     $this->assertEquals($requiredCharacterClassesNumber, $this->block->getRequiredCharacterClassesNumber());
 }