* rename AuthenticationListener

* add tests
This commit is contained in:
Nicolas Lœuillet 2015-09-29 17:05:17 +02:00 committed by Jeremy Benoist
parent 772732531e
commit 359b3f43cc
4 changed files with 96 additions and 2 deletions

View file

@ -9,7 +9,7 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use FOS\UserBundle\Event\FilterUserResponseEvent;
use Wallabag\CoreBundle\Entity\Config;
class AuthenticationListener implements EventSubscriberInterface
class RegistrationConfirmedListener implements EventSubscriberInterface
{
private $em;
private $container;

View file

@ -47,7 +47,7 @@ services:
- @wallabag_core.graby
wallabag_core.registration_confirmed:
class: Wallabag\CoreBundle\EventListener\AuthenticationListener
class: Wallabag\CoreBundle\EventListener\RegistrationConfirmedListener
arguments: [@service_container, @doctrine.orm.entity_manager]
tags:
- { name: kernel.event_subscriber }

View file

@ -32,6 +32,7 @@
<div class="row mts txtcenter">
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}" />
<button type="submit">Login</button>
<a href="{{ path('fos_user_registration_register') }}" class="button">{% trans %}Register{% endtrans %}</a>
<a href="{{ path('forgot_password') }}" class="small">Forgot your password?</a>
</div>
</fieldset>

View file

@ -8,6 +8,99 @@ use Wallabag\CoreBundle\Tests\WallabagCoreTestCase;
class SecurityControllerTest extends WallabagCoreTestCase
{
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&#039;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 testLogin()
{
$client = $this->getClient();