customerSessionMock = $this->createMock(\Magento\Customer\Model\Session::class); $this->observerMock = $this->createMock(\Magento\Framework\Event\Observer::class); $this->quoteManagerMock = $this->createMock(\Magento\Persistent\Model\QuoteManager::class); $this->requestMock = $this->createMock(\Magento\Framework\App\RequestInterface::class); $this->model = new \Magento\Persistent\Observer\CustomerAuthenticatedEventObserver( $this->customerSessionMock, $this->requestMock, $this->quoteManagerMock ); } public function testExecute() { $this->customerSessionMock ->expects($this->once()) ->method('setCustomerId') ->with(null) ->will($this->returnSelf()); $this->customerSessionMock ->expects($this->once()) ->method('setCustomerGroupId') ->with(null) ->will($this->returnSelf()); $this->requestMock ->expects($this->once()) ->method('getParam') ->with('context') ->will($this->returnValue('not_checkout')); $this->quoteManagerMock->expects($this->once())->method('expire'); $this->quoteManagerMock->expects($this->never())->method('setGuest'); $this->model->execute($this->observerMock); } public function testExecuteDuringCheckout() { $this->customerSessionMock ->expects($this->once()) ->method('setCustomerId') ->with(null) ->will($this->returnSelf()); $this->customerSessionMock ->expects($this->once()) ->method('setCustomerGroupId') ->with(null) ->will($this->returnSelf()); $this->requestMock ->expects($this->once()) ->method('getParam') ->with('context') ->will($this->returnValue('checkout')); $this->quoteManagerMock->expects($this->never())->method('expire'); $this->quoteManagerMock->expects($this->once())->method('setGuest'); $this->model->execute($this->observerMock); } }