3 namespace Wallabag\CoreBundle\Tests\Controller
;
5 use Wallabag\CoreBundle\Tests\WallabagTestCase
;
7 class ConfigControllerTest
extends WallabagTestCase
9 public function testLogin()
11 $client = $this->getClient();
13 $client->request('GET', '/new');
15 $this->assertEquals(302, $client->getResponse()->getStatusCode());
16 $this->assertContains('login', $client->getResponse()->headers
->get('location'));
19 public function testIndex()
21 $this->logInAs('admin');
22 $client = $this->getClient();
24 $crawler = $client->request('GET', '/config');
26 $this->assertEquals(200, $client->getResponse()->getStatusCode());
28 $this->assertCount(1, $crawler->filter('input[type=number]'));
29 $this->assertCount(1, $crawler->filter('button[type=submit]'));
32 public function testUpdate()
34 $this->logInAs('admin');
35 $client = $this->getClient();
37 $crawler = $client->request('GET', '/config');
39 $this->assertEquals(200, $client->getResponse()->getStatusCode());
41 $form = $crawler->filter('button[type=submit]')->form();
44 'config[theme]' => 'baggy',
45 'config[items_per_page]' => '30',
46 'config[language]' => 'fr_FR',
49 $client->submit($form, $data);
51 $this->assertEquals(302, $client->getResponse()->getStatusCode());
53 $crawler = $client->followRedirect();
55 $this->assertGreaterThan(1, $alert = $crawler->filter('div.flash-notice')->extract(array('_text')));
56 $this->assertContains('Config saved', $alert[0]);
59 public function dataForUpdateFailed()
63 'config[theme]' => 'baggy',
64 'config[items_per_page]' => '',
65 'config[language]' => 'fr_FR',
68 'config[theme]' => 'baggy',
69 'config[items_per_page]' => '12',
70 'config[language]' => '',
76 * @dataProvider dataForUpdateFailed
78 public function testUpdateFailed($data)
80 $this->logInAs('admin');
81 $client = $this->getClient();
83 $crawler = $client->request('GET', '/config');
85 $this->assertEquals(200, $client->getResponse()->getStatusCode());
87 $form = $crawler->filter('button[type=submit]')->form();
89 $crawler = $client->submit($form, $data);
91 $this->assertEquals(200, $client->getResponse()->getStatusCode());
93 $this->assertGreaterThan(1, $alert = $crawler->filter('body')->extract(array('_text')));
94 $this->assertContains('This value should not be blank', $alert[0]);