3 namespace Wallabag\CoreBundle\Tests\Controller
;
5 use Symfony\Bundle\FrameworkBundle\Test\WebTestCase
;
7 class EntryControllerTest
extends WebTestCase
9 public function testGetNew()
11 $client = static::createClient();
13 $crawler = $client->request('GET', '/new');
15 $this->assertEquals(200, $client->getResponse()->getStatusCode());
17 $this->assertCount(1, $crawler->filter('input[type=url]'));
18 $this->assertCount(1, $crawler->filter('button[type=submit]'));
21 public function testPostNewEmpty()
23 $client = static::createClient();
25 $crawler = $client->request('GET', '/new');
27 $this->assertEquals(200, $client->getResponse()->getStatusCode());
29 $form = $crawler->filter('button[type=submit]')->form();
31 $crawler = $client->submit($form);
33 $this->assertEquals(200, $client->getResponse()->getStatusCode());
34 $this->assertCount(1, $alert = $crawler->filter('form ul li')->extract(array('_text')));
35 $this->assertEquals('This value should not be blank.', $alert[0]);
38 public function testPostNewOk()
40 $client = static::createClient();
42 $crawler = $client->request('GET', '/new');
44 $this->assertEquals(200, $client->getResponse()->getStatusCode());
46 $form = $crawler->filter('button[type=submit]')->form();
49 'form[url]' => 'https://www.mailjet.com/blog/mailjet-zapier-integrations-made-easy/',
52 $client->submit($form, $data);
54 $this->assertEquals(302, $client->getResponse()->getStatusCode());
56 $crawler = $client->followRedirect();
58 $this->assertCount(1, $alert = $crawler->filter('h2 a')->extract(array('_text')));
59 $this->assertContains('Mailjet', $alert[0]);
62 public function testArchive()
64 $client = static::createClient();
66 $crawler = $client->request('GET', '/archive');
68 $this->assertEquals(200, $client->getResponse()->getStatusCode());
71 public function testStarred()
73 $client = static::createClient();
75 $crawler = $client->request('GET', '/starred');
77 $this->assertEquals(200, $client->getResponse()->getStatusCode());
80 public function testView()
82 $client = static::createClient();
84 $content = $client->getContainer()
85 ->get('doctrine.orm.entity_manager')
86 ->getRepository('WallabagCoreBundle:Entry')
87 ->findOneByIsArchived(false);
89 $crawler = $client->request('GET', '/view/'.$content->getId());
91 $this->assertEquals(200, $client->getResponse()->getStatusCode());
92 $this->assertContains($content->getTitle(), $client->getResponse()->getContent());