createContainer(); $this->controller = new PublicSessionFilterController($this->container); } /** * Link per page - Default call with valid parameter and a referer. */ public function testLinksPerPage(): void { $this->container->environment = ['HTTP_REFERER' => 'http://shaarli/subfolder/controller/?searchtag=abc']; $request = $this->createMock(Request::class); $request->method('getParam')->with('nb')->willReturn('8'); $response = new Response(); $this->container->sessionManager ->expects(static::once()) ->method('setSessionParameter') ->with(SessionManager::KEY_LINKS_PER_PAGE, 8) ; $result = $this->controller->linksPerPage($request, $response); static::assertInstanceOf(Response::class, $result); static::assertSame(302, $result->getStatusCode()); static::assertSame(['/subfolder/controller/?searchtag=abc'], $result->getHeader('location')); } /** * Link per page - Invalid value, should use default value (20) */ public function testLinksPerPageNotValid(): void { $request = $this->createMock(Request::class); $request->method('getParam')->with('nb')->willReturn('test'); $response = new Response(); $this->container->sessionManager ->expects(static::once()) ->method('setSessionParameter') ->with(SessionManager::KEY_LINKS_PER_PAGE, 20) ; $result = $this->controller->linksPerPage($request, $response); static::assertInstanceOf(Response::class, $result); static::assertSame(302, $result->getStatusCode()); static::assertSame(['/subfolder/'], $result->getHeader('location')); } }