/** * @param bool $result * @param string $callCount * @return void * @dataProvider testBeforeStartDataProvider */ public function testBeforeStart($result, $callCount) { $phpSessionCookieName = 'PHPSESSID'; $frontendSessionCookieName = 'mage-cache-sessid'; $this->sessionManager->expects($this->once())->method('getName')->willReturn($phpSessionCookieName); $this->cookieManager->expects($this->exactly(2))->method('getCookie')->withConsecutive([$phpSessionCookieName], [$frontendSessionCookieName])->willReturnOnConsecutiveCalls(false, $result); $this->metadataFactory->expects($this->{$callCount}())->method('createCookieMetadata')->willReturn($this->metadata); $this->metadata->expects($this->{$callCount}())->method('setPath')->with('/'); $this->cookieManager->expects($this->{$callCount}())->method('deleteCookie')->with('mage-cache-sessid', $this->metadata); $this->plugin->beforeStart($this->sessionManager); }
public function testExecute() { $customerId = 1; $refererUrl = 'http://referer.url'; $this->sessionMock->expects($this->once())->method('getId')->willReturn($customerId); $this->sessionMock->expects($this->once())->method('logout')->willReturnSelf(); $this->redirect->expects($this->once())->method('getRefererUrl')->willReturn($refererUrl); $this->sessionMock->expects($this->once())->method('setBeforeAuthUrl')->with($refererUrl)->willReturnSelf(); $this->sessionMock->expects($this->once())->method('setLastCustomerId')->with($customerId); $this->cookieManager->expects($this->once())->method('getCookie')->with('mage-cache-sessid')->willReturn(true); $this->cookieMetadataFactory->expects($this->once())->method('createCookieMetadata')->willReturn($this->cookieMetadata); $this->cookieMetadata->expects($this->once())->method('setPath')->with('/'); $this->cookieManager->expects($this->once())->method('deleteCookie')->with('mage-cache-sessid', $this->cookieMetadata); $this->redirectFactory->expects($this->once())->method('create')->willReturn($this->resultRedirect); $this->resultRedirect->expects($this->once())->method('setPath')->with('*/*/logoutSuccess'); $this->assertSame($this->resultRedirect, $this->controller->execute()); }
/** * {@inheritdoc} */ public function __toArray() { $this->updateSecureValue(); return parent::__toArray(); }