wallabag/src/Wallabag/CoreBundle/Tests/Controller/TagControllerTest.php

69 lines
2 KiB
PHP
Raw Normal View History

2015-08-07 18:29:03 +00:00
<?php
namespace Wallabag\CoreBundle\Tests\Controller;
use Wallabag\CoreBundle\Tests\WallabagCoreTestCase;
class TagControllerTest extends WallabagCoreTestCase
{
public function testList()
{
$this->logInAs('admin');
$client = $this->getClient();
$client->request('GET', '/tag/list');
$this->assertEquals(200, $client->getResponse()->getStatusCode());
}
2015-08-19 09:46:21 +00:00
public function testAddTagToEntry()
{
$this->logInAs('admin');
$client = $this->getClient();
$entry = $client->getContainer()
->get('doctrine.orm.entity_manager')
->getRepository('WallabagCoreBundle:Entry')
2015-09-28 17:35:55 +00:00
->findOneByUsernameAndNotArchived('admin');
2015-08-19 09:46:21 +00:00
$crawler = $client->request('GET', '/view/'.$entry->getId());
$form = $crawler->filter('button[id=tag_save]')->form();
$data = array(
'tag[label]' => 'opensource',
);
$client->submit($form, $data);
$this->assertEquals(302, $client->getResponse()->getStatusCode());
$this->assertEquals(1, count($entry->getTags()));
# tag already exists and already assigned
$client->submit($form, $data);
$this->assertEquals(302, $client->getResponse()->getStatusCode());
$newEntry = $client->getContainer()
->get('doctrine.orm.entity_manager')
->getRepository('WallabagCoreBundle:Entry')
2015-09-28 17:35:55 +00:00
->find($entry->getId());
2015-08-19 09:46:21 +00:00
$this->assertEquals(1, count($newEntry->getTags()));
# tag already exists but still not assigned to this entry
$data = array(
'tag[label]' => 'foo',
);
$client->submit($form, $data);
$this->assertEquals(302, $client->getResponse()->getStatusCode());
$newEntry = $client->getContainer()
->get('doctrine.orm.entity_manager')
->getRepository('WallabagCoreBundle:Entry')
2015-09-28 17:35:55 +00:00
->find($entry->getId());
2015-08-19 09:46:21 +00:00
$this->assertEquals(2, count($newEntry->getTags()));
}
2015-08-07 18:29:03 +00:00
}