use Shaarli\Security\SessionManager;
use Slim\Http\Request;
use Slim\Http\Response;
-use Slim\Http\Uri;
class SessionFilterControllerTest extends TestCase
{
*/
public function testLinksPerPage(): void
{
- $this->createValidContainerMockSet();
-
$this->container->environment = ['HTTP_REFERER' => 'http://shaarli/subfolder/controller/?searchtag=abc'];
$request = $this->createMock(Request::class);
- $request->method('getUri')->willReturnCallback(function (): Uri {
- $uri = $this->createMock(Uri::class);
- $uri->method('getBasePath')->willReturn('/subfolder');
-
- return $uri;
- });
$request->method('getParam')->with('nb')->willReturn('8');
$response = new Response();
*/
public function testLinksPerPageNotValid(): void
{
- $this->createValidContainerMockSet();
-
$request = $this->createMock(Request::class);
- $request->method('getUri')->willReturnCallback(function (): Uri {
- $uri = $this->createMock(Uri::class);
- $uri->method('getBasePath')->willReturn('/subfolder');
-
- return $uri;
- });
$request->method('getParam')->with('nb')->willReturn('test');
$response = new Response();
static::assertInstanceOf(Response::class, $result);
static::assertSame(302, $result->getStatusCode());
- static::assertSame(['/subfolder'], $result->getHeader('location'));
+ static::assertSame(['/subfolder/'], $result->getHeader('location'));
}
/**
*/
public function testVisibility(): void
{
- $this->createValidContainerMockSet();
-
$arg = ['visibility' => 'private'];
$this->container->environment = ['HTTP_REFERER' => 'http://shaarli/subfolder/controller/?searchtag=abc'];
;
$request = $this->createMock(Request::class);
- $request->method('getUri')->willReturnCallback(function (): Uri {
- $uri = $this->createMock(Uri::class);
- $uri->method('getBasePath')->willReturn('/subfolder');
-
- return $uri;
- });
$response = new Response();
$result = $this->controller->visibility($request, $response, $arg);
*/
public function testVisibilityToggleOff(): void
{
- $this->createValidContainerMockSet();
-
$arg = ['visibility' => 'private'];
$this->container->environment = ['HTTP_REFERER' => 'http://shaarli/subfolder/controller/?searchtag=abc'];
;
$request = $this->createMock(Request::class);
- $request->method('getUri')->willReturnCallback(function (): Uri {
- $uri = $this->createMock(Uri::class);
- $uri->method('getBasePath')->willReturn('/subfolder');
-
- return $uri;
- });
$response = new Response();
$result = $this->controller->visibility($request, $response, $arg);
*/
public function testVisibilitySwitch(): void
{
- $this->createValidContainerMockSet();
-
$arg = ['visibility' => 'private'];
$this->container->loginManager->method('isLoggedIn')->willReturn(true);
;
$request = $this->createMock(Request::class);
- $request->method('getUri')->willReturnCallback(function (): Uri {
- $uri = $this->createMock(Uri::class);
- $uri->method('getBasePath')->willReturn('/subfolder');
-
- return $uri;
- });
$response = new Response();
$result = $this->controller->visibility($request, $response, $arg);
static::assertInstanceOf(Response::class, $result);
static::assertSame(302, $result->getStatusCode());
- static::assertSame(['/subfolder'], $result->getHeader('location'));
+ static::assertSame(['/subfolder/'], $result->getHeader('location'));
}
/**
*/
public function testVisibilityInvalidValue(): void
{
- $this->createValidContainerMockSet();
-
$arg = ['visibility' => 'test'];
$this->container->environment = ['HTTP_REFERER' => 'http://shaarli/subfolder/controller/?searchtag=abc'];
;
$request = $this->createMock(Request::class);
- $request->method('getUri')->willReturnCallback(function (): Uri {
- $uri = $this->createMock(Uri::class);
- $uri->method('getBasePath')->willReturn('/subfolder');
-
- return $uri;
- });
$response = new Response();
$result = $this->controller->visibility($request, $response, $arg);
*/
public function testVisibilityLoggedOut(): void
{
- $this->createValidContainerMockSet();
-
$arg = ['visibility' => 'test'];
$this->container->environment = ['HTTP_REFERER' => 'http://shaarli/subfolder/controller/?searchtag=abc'];
;
$request = $this->createMock(Request::class);
- $request->method('getUri')->willReturnCallback(function (): Uri {
- $uri = $this->createMock(Uri::class);
- $uri->method('getBasePath')->willReturn('/subfolder');
-
- return $uri;
- });
$response = new Response();
$result = $this->controller->visibility($request, $response, $arg);
*/
public function testUntaggedOnly(): void
{
- $this->createValidContainerMockSet();
-
$this->container->environment = ['HTTP_REFERER' => 'http://shaarli/subfolder/controller/?searchtag=abc'];
$request = $this->createMock(Request::class);
- $request->method('getUri')->willReturnCallback(function (): Uri {
- $uri = $this->createMock(Uri::class);
- $uri->method('getBasePath')->willReturn('/subfolder');
-
- return $uri;
- });
$response = new Response();
$this->container->sessionManager
*/
public function testUntaggedOnlyToggleOff(): void
{
- $this->createValidContainerMockSet();
-
$this->container->environment = ['HTTP_REFERER' => 'http://shaarli/subfolder/controller/?searchtag=abc'];
$request = $this->createMock(Request::class);
- $request->method('getUri')->willReturnCallback(function (): Uri {
- $uri = $this->createMock(Uri::class);
- $uri->method('getBasePath')->willReturn('/subfolder');
-
- return $uri;
- });
-
$response = new Response();
$this->container->sessionManager