authenticationMock = $this->createMock(AuthenticationInterface::class); $this->customerModelMock = $this->createPartialMock(\Magento\Customer\Model\Customer::class, ['getId']); $this->customerLoginSuccessObserver = new CustomerLoginSuccessObserver( $this->authenticationMock ); } /** * @return void */ public function testExecute() { $customerId = 1; $observerMock = $this->createMock(\Magento\Framework\Event\Observer::class); $eventMock = $this->createPartialMock(\Magento\Framework\Event::class, ['getData']); $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->authenticationMock->expects($this->once()) ->method('unlock') ->with($customerId); $this->customerLoginSuccessObserver->execute($observerMock); } }