public function testValidLogin() { $request = new Request(); $response = new Response(); $serieTokenInCookie = new SerieToken(1, 'abc', 'def'); $newSerie = new SerieToken(1, 'abc', 'ghi'); // Assume valid user $this->userMapper->expects($this->once())->method('findById')->will($this->returnValue($this->getMock('ZfcUser\\Entity\\UserInterface'))); // Request contains cookie $this->cookieService->expects($this->once())->method('read')->with($request, $response)->will($this->returnValue($serieTokenInCookie)); // Response contains updated cookie $this->cookieService->expects($this->once())->method('writeSerie')->with($response, $newSerie); $newSerie->setExpiresAt(new \DateTime('+3 days')); $this->rememberMeService->expects($this->once())->method('getNextInSerie')->with($serieTokenInCookie)->will($this->returnValue($newSerie)); $this->authService->expects($this->once())->method('authenticate'); $eventManager = $this->getMock('Zend\\EventManager\\EventManagerInterface'); $this->service->setEventManager($eventManager); $eventManager->expects($this->once())->method('trigger')->with('login', $this->service, ['token' => $newSerie]); $this->service->loginFrom($request, $response); }
/** * * @param arra $eventListenerArray * @return array */ public function &setUpMockedMapper($eventListenerArray, array $mapperMethods = array()) { $returnMockedParams = array(); $mapperMethods = count($mapperMethods) ? array_merge($mapperMethods, array('getSelect', 'select')) : array('getSelect', 'select'); $this->setUpMockMapperInsert($mapperMethods); $this->mapper->expects($this->once())->method('select')->will($this->returnValue($this->mockedResultSet)); $mockedSelect = $this->mockedSelect; $this->mockedSelect->expects($this->once())->method('where')->will($this->returnCallback(function () use(&$returnMockedParams, $mockedSelect) { $returnMockedParams['whereArgs'] = func_get_args(); return $mockedSelect; })); foreach ($eventListenerArray as $eventKey => $eventListener) { $this->mapper->getEventManager()->attach($eventKey, $eventListener); } $this->mapper->setDbAdapter($this->mockedDbAdapter); $this->mapper->setEntityPrototype(new Entity()); return $returnMockedParams; }