Add tests

This commit is contained in:
Jeremy Benoist 2016-02-22 13:33:22 +01:00
parent e5b5270962
commit b6c00b0b80
2 changed files with 35 additions and 9 deletions

View file

@ -58,20 +58,16 @@ class ConfigController extends Controller
if ($pwdForm->isValid()) {
if ($this->get('craue_config')->get('demo_mode_enabled') && $this->get('craue_config')->get('demo_mode_username') === $user->getUsername()) {
$this->get('session')->getFlashBag()->add(
'notice',
'In demonstration mode, you can\'t change password for this user.'
);
$message = 'In demonstration mode, you can\'t change password for this user.';
} else {
$message = 'Password updated';
$user->setPlainPassword($pwdForm->get('new_password')->getData());
$userManager->updateUser($user, true);
$this->get('session')->getFlashBag()->add(
'notice',
'Password updated'
);
}
$this->get('session')->getFlashBag()->add('notice', $message);
return $this->redirect($this->generateUrl('config').'#set4');
}

View file

@ -577,4 +577,34 @@ class ConfigControllerTest extends WallabagCoreTestCase
$this->assertEquals(403, $client->getResponse()->getStatusCode());
$this->assertContains('You can not access this tagging ryle', $client->getResponse()->getContent());
}
public function testDemoMode()
{
$this->logInAs('admin');
$client = $this->getClient();
$config = $client->getContainer()->get('craue_config');
$config->set('demo_mode_enabled', 1);
$config->set('demo_mode_username', 'admin');
$crawler = $client->request('GET', '/config');
$this->assertEquals(200, $client->getResponse()->getStatusCode());
$form = $crawler->filter('button[id=change_passwd_save]')->form();
$data = array(
'change_passwd[old_password]' => 'mypassword',
'change_passwd[new_password][first]' => 'mypassword',
'change_passwd[new_password][second]' => 'mypassword',
);
$client->submit($form, $data);
$this->assertEquals(302, $client->getResponse()->getStatusCode());
$this->assertContains('In demonstration mode, you can\'t change password for this user.', $client->getContainer()->get('session')->getFlashBag()->get('notice')[0]);
$config->set('demo_mode_enabled', 0);
$config->set('demo_mode_username', 'wallabag');
}
}