mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-26 19:11:07 +00:00
Add some tests on EntryController
Also, create database schema on test initialisation
This commit is contained in:
parent
94f2364cd8
commit
9c0c882006
3 changed files with 86 additions and 3 deletions
|
@ -24,6 +24,11 @@
|
|||
<arg value="doctrine:database:create"/>
|
||||
<arg value="--env=test"/>
|
||||
</exec>
|
||||
<exec executable="php">
|
||||
<arg value="${basedir}/../app/console"/>
|
||||
<arg value="doctrine:schema:create"/>
|
||||
<arg value="--env=test"/>
|
||||
</exec>
|
||||
<exec executable="php">
|
||||
<arg value="${basedir}/../app/console"/>
|
||||
<arg value="cache:clear"/>
|
||||
|
|
|
@ -23,8 +23,9 @@
|
|||
<directory>../src</directory>
|
||||
<exclude>
|
||||
<directory>../vendor</directory>
|
||||
<directory>../src/Acme</directory>
|
||||
<directory>../src/AppBundle</directory>
|
||||
<directory>../src/Wallabag/CoreBundle/Resources</directory>
|
||||
<directory>../src/Wallabag/CoreBundle/Tests</directory>
|
||||
<directory>../src/Wallabag/CoreBundle/DataFixtures</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -6,12 +6,89 @@ use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
|
|||
|
||||
class EntryControllerTest extends WebTestCase
|
||||
{
|
||||
public function testIndex()
|
||||
public function testGetNew()
|
||||
{
|
||||
$client = static::createClient();
|
||||
|
||||
$crawler = $client->request('GET', '/new');
|
||||
|
||||
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||
|
||||
$this->assertCount(1, $crawler->filter('input[type=url]'));
|
||||
$this->assertCount(1, $crawler->filter('button[type=submit]'));
|
||||
}
|
||||
|
||||
public function testPostNewEmpty()
|
||||
{
|
||||
$client = static::createClient();
|
||||
|
||||
$crawler = $client->request('GET', '/new');
|
||||
|
||||
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||
|
||||
$form = $crawler->filter('button[type=submit]')->form();
|
||||
|
||||
$crawler = $client->submit($form);
|
||||
|
||||
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||
$this->assertCount(1, $alert = $crawler->filter('form ul li')->extract(array('_text')));
|
||||
$this->assertEquals('This value should not be blank.', $alert[0]);
|
||||
}
|
||||
|
||||
public function testPostNewOk()
|
||||
{
|
||||
$client = static::createClient();
|
||||
|
||||
$crawler = $client->request('GET', '/new');
|
||||
|
||||
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||
|
||||
$form = $crawler->filter('button[type=submit]')->form();
|
||||
|
||||
$data = array(
|
||||
'form[url]' => 'https://www.mailjet.com/blog/mailjet-zapier-integrations-made-easy/',
|
||||
);
|
||||
|
||||
$client->submit($form, $data);
|
||||
|
||||
$this->assertEquals(302, $client->getResponse()->getStatusCode());
|
||||
|
||||
$crawler = $client->followRedirect();
|
||||
|
||||
$this->assertCount(1, $alert = $crawler->filter('h2 a')->extract(array('_text')));
|
||||
$this->assertContains('Mailjet', $alert[0]);
|
||||
}
|
||||
|
||||
public function testArchive()
|
||||
{
|
||||
$client = static::createClient();
|
||||
|
||||
$crawler = $client->request('GET', '/archive');
|
||||
|
||||
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||
}
|
||||
|
||||
public function testStarred()
|
||||
{
|
||||
$client = static::createClient();
|
||||
|
||||
$crawler = $client->request('GET', '/starred');
|
||||
|
||||
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||
}
|
||||
|
||||
public function testView()
|
||||
{
|
||||
$client = static::createClient();
|
||||
|
||||
$content = $client->getContainer()
|
||||
->get('doctrine.orm.entity_manager')
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findOneByIsArchived(false);
|
||||
|
||||
$crawler = $client->request('GET', '/view/'.$content->getId());
|
||||
|
||||
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||
$this->assertContains($content->getTitle(), $client->getResponse()->getContent());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue