- public function testRegister()
- {
- $client = $this->getClient();
-
- $crawler = $client->request('GET', '/register/');
-
- $this->assertEquals(200, $client->getResponse()->getStatusCode());
- $this->assertContains('Register', $client->getResponse()->getContent());
- }
-
- public function dataForCreateAccountFailed()
- {
- return array(
- array(
- array(
- 'fos_user_registration_form[email]' => '',
- 'fos_user_registration_form[username]' => 'newuser',
- 'fos_user_registration_form[plainPassword][first]' => 'mypassword',
- 'fos_user_registration_form[plainPassword][second]' => 'mypassword',
- ),
- 'Please enter an email',
- ),
- array(
- array(
- 'fos_user_registration_form[email]' => 'newuser@wallabag.org',
- 'fos_user_registration_form[username]' => 'admin',
- 'fos_user_registration_form[plainPassword][first]' => 'mypassword',
- 'fos_user_registration_form[plainPassword][second]' => 'mypassword',
- ),
- 'The username is already used',
- ),
- array(
- array(
- 'fos_user_registration_form[email]' => 'newuser@wallabag.org',
- 'fos_user_registration_form[username]' => 'newuser',
- 'fos_user_registration_form[plainPassword][first]' => 'mypassword1',
- 'fos_user_registration_form[plainPassword][second]' => 'mypassword2',
- ),
- 'The entered passwords don't match',
- ),
- );
- }
-
- /**
- * @dataProvider dataForCreateAccountFailed
- */
- public function testCreateAccountFailed($data, $expectedMessage)
- {
- $client = $this->getClient();
-
- $crawler = $client->request('GET', '/register/');
-
- $form = $crawler->filter('input[type=submit]')->form();
-
- $client->submit($form, $data);
-
- $this->assertEquals(200, $client->getResponse()->getStatusCode());
- $this->assertContains($expectedMessage, $client->getResponse()->getContent());
- }
-
- public function dataForCreateAccountSuccess()
- {
- return array(
- array(
- array(
- 'fos_user_registration_form[email]' => 'newuser@wallabag.org',
- 'fos_user_registration_form[username]' => 'newuser',
- 'fos_user_registration_form[plainPassword][first]' => 'mypassword',
- 'fos_user_registration_form[plainPassword][second]' => 'mypassword',
- ),
- ),
- );
- }
-
- /**
- * @dataProvider dataForCreateAccountSuccess
- */
- public function testCreateAccountSuccess($data)
- {
- $client = $this->getClient();
-
- $crawler = $client->request('GET', '/register/');
-
- $form = $crawler->filter('input[type=submit]')->form();
-
- $client->submit($form, $data);
- $this->assertEquals(302, $client->getResponse()->getStatusCode());
-
- $crawler = $client->followRedirect();
-
- $this->assertContains('The user has been created successfully', $client->getResponse()->getContent());
- }
-
- public function testRegistrationConfirmation()
- {
- $client = $this->getClient();
- $client->followRedirects();
-
- $user = $client->getContainer()
- ->get('doctrine.orm.entity_manager')
- ->getRepository('WallabagCoreBundle:User')
- ->findOneByUsername('newuser');
-
- $this->assertNull($user->getConfig());
-
- $client->request('GET', '/register/confirm/b4dT0k3n');
- $this->assertEquals(404, $client->getResponse()->getStatusCode());
-
- $crawler = $client->request('GET', '/register/confirm/'.$user->getConfirmationToken());
- $this->assertEquals(200, $client->getResponse()->getStatusCode());
-
- $user = $client->getContainer()
- ->get('doctrine.orm.entity_manager')
- ->getRepository('WallabagCoreBundle:User')
- ->findOneByUsername('newuser');
- $this->assertNotNull($user->getConfig());
- }
-
- public function testLogin()
- {
- $client = $this->getClient();
-
- $crawler = $client->request('GET', '/new');
-
- $this->assertEquals(302, $client->getResponse()->getStatusCode());
- $this->assertContains('login', $client->getResponse()->headers->get('location'));
- }
-
- public function testLoginFail()
- {
- $client = $this->getClient();
-
- $crawler = $client->request('GET', '/login');
-
- $form = $crawler->filter('button[type=submit]')->form();
- $data = array(
- '_username' => 'admin',
- '_password' => 'admin',
- );
-
- $client->submit($form, $data);
-
- $this->assertEquals(302, $client->getResponse()->getStatusCode());
- $this->assertContains('login', $client->getResponse()->headers->get('location'));
-
- $crawler = $client->followRedirect();
-
- $this->assertContains('Bad credentials', $client->getResponse()->getContent());
- }
-
- public function testRedirectionAfterLogin()