Files
wallabag/tests/Controller/Api/WallabagRestControllerTest.php
Jeremy Benoist 6b5a518ce2 Move to Symfony Flex
The structure changed completely.
Bundles are gone. Everything is flatten in the folder `src`.
I separated import & api controllers to avoid _pollution_ in the main controller folder.
2023-07-28 09:35:07 +02:00

68 lines
2.2 KiB
PHP

<?php
namespace App\Tests\Controller\Api;
use Craue\ConfigBundle\Util\Config;
use App\Tests\WallabagApiTestCase;
class WallabagRestControllerTest extends WallabagApiTestCase
{
public function testGetVersion()
{
// create a new client instead of using $this->client to be sure client isn't authenticated
$client = static::createClient();
$client->request('GET', '/api/version');
$this->assertSame(200, $client->getResponse()->getStatusCode());
$content = json_decode($client->getResponse()->getContent(), true);
$this->assertSame($client->getContainer()->getParameter('wallabag.version'), $content);
}
public function testGetInfo()
{
// create a new client instead of using $this->client to be sure client isn't authenticated
$client = static::createClient();
$client->request('GET', '/api/info');
$this->assertSame(200, $client->getResponse()->getStatusCode());
$content = json_decode($client->getResponse()->getContent(), true);
$this->assertArrayHasKey('appname', $content);
$this->assertArrayHasKey('version', $content);
$this->assertArrayHasKey('allowed_registration', $content);
$this->assertSame('wallabag', $content['appname']);
}
public function testAllowedRegistration()
{
// create a new client instead of using $this->client to be sure client isn't authenticated
$client = static::createClient();
if (!$client->getContainer()->getParameter('fosuser_registration')) {
$this->markTestSkipped('fosuser_registration is not enabled.');
return;
}
$client->getContainer()->get(Config::class)->set('api_user_registration', 1);
$client->request('GET', '/api/info');
$content = json_decode($client->getResponse()->getContent(), true);
$this->assertTrue($content['allowed_registration']);
$client->getContainer()->get(Config::class)->set('api_user_registration', 0);
$client->request('GET', '/api/info');
$content = json_decode($client->getResponse()->getContent(), true);
$this->assertFalse($content['allowed_registration']);
}
}