mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-26 19:11:07 +00:00
Fixed migration and added tests
This commit is contained in:
parent
23406ca3f1
commit
f24ea59ea4
3 changed files with 18 additions and 4 deletions
|
@ -34,6 +34,7 @@ class Version20161024212538 extends AbstractMigration implements ContainerAwareI
|
||||||
{
|
{
|
||||||
$this->skipIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
|
$this->skipIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
|
||||||
|
|
||||||
|
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD `user_id` INT(11) DEFAULT NULL');
|
||||||
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD CONSTRAINT FK_clients_user_clients FOREIGN KEY (user_id) REFERENCES '.$this->getTable('user').' (id) ON DELETE CASCADE');
|
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD CONSTRAINT FK_clients_user_clients FOREIGN KEY (user_id) REFERENCES '.$this->getTable('user').' (id) ON DELETE CASCADE');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ class AnnotationControllerTest extends WallabagAnnotationTestCase
|
||||||
/**
|
/**
|
||||||
* This data provider allow to tests annotation from the :
|
* This data provider allow to tests annotation from the :
|
||||||
* - API POV (when user use the api to manage annotations)
|
* - API POV (when user use the api to manage annotations)
|
||||||
* - and User POV (when user use the web interface - using javascript - to manage annotations)
|
* - and User POV (when user use the web interface - using javascript - to manage annotations).
|
||||||
*/
|
*/
|
||||||
public function dataForEachAnnotations()
|
public function dataForEachAnnotations()
|
||||||
{
|
{
|
||||||
|
|
|
@ -82,11 +82,24 @@ class DeveloperControllerTest extends WallabagCoreTestCase
|
||||||
|
|
||||||
public function testRemoveClient()
|
public function testRemoveClient()
|
||||||
{
|
{
|
||||||
$this->logInAs('admin');
|
|
||||||
$client = $this->getClient();
|
$client = $this->getClient();
|
||||||
$em = $client->getContainer()->get('doctrine.orm.entity_manager');
|
$em = $client->getContainer()->get('doctrine.orm.entity_manager');
|
||||||
$nbClients = $em->getRepository('WallabagApiBundle:Client')->findAll();
|
|
||||||
|
|
||||||
|
// Try to remove an admin's client with a wrong user
|
||||||
|
$this->logInAs('bob');
|
||||||
|
$client->request('GET', '/developer');
|
||||||
|
$this->assertContains('no_client', $client->getResponse()->getContent());
|
||||||
|
|
||||||
|
// get an ID of a admin's client
|
||||||
|
$this->logInAs('admin');
|
||||||
|
$nbClients = $em->getRepository('WallabagApiBundle:Client')->findByUser($this->getLoggedInUserId());
|
||||||
|
|
||||||
|
$this->logInAs('bob');
|
||||||
|
$client->request('GET', '/developer/client/delete/'.$nbClients[0]->getId());
|
||||||
|
$this->assertEquals(403, $client->getResponse()->getStatusCode());
|
||||||
|
|
||||||
|
// Try to remove the admin's client with the good user
|
||||||
|
$this->logInAs('admin');
|
||||||
$crawler = $client->request('GET', '/developer');
|
$crawler = $client->request('GET', '/developer');
|
||||||
|
|
||||||
$link = $crawler
|
$link = $crawler
|
||||||
|
@ -98,7 +111,7 @@ class DeveloperControllerTest extends WallabagCoreTestCase
|
||||||
$client->click($link);
|
$client->click($link);
|
||||||
$this->assertEquals(302, $client->getResponse()->getStatusCode());
|
$this->assertEquals(302, $client->getResponse()->getStatusCode());
|
||||||
|
|
||||||
$newNbClients = $em->getRepository('WallabagApiBundle:Client')->findAll();
|
$newNbClients = $em->getRepository('WallabagApiBundle:Client')->findByUser($this->getLoggedInUserId());
|
||||||
$this->assertGreaterThan(count($newNbClients), count($nbClients));
|
$this->assertGreaterThan(count($newNbClients), count($nbClients));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue