def test_post_returns_form_when_validation_fails(self): request = DummyRequest(method='POST') controller = views.ResetPasswordController(request) controller.form = invalid_form() result = controller.post() assert result == {'form': 'invalid form'}
def test_post_redirects_on_success(self): request = DummyRequest(method='POST') user = FakeUser(password='******') controller = views.ResetPasswordController(request) controller.form = form_validating_to({'user': user, 'password': '******'}) result = controller.post() assert isinstance(result, httpexceptions.HTTPRedirection)
def test_post_sets_user_password_from_form(self): request = DummyRequest(method='POST') elephant = FakeUser(password='******') controller = views.ResetPasswordController(request) controller.form = form_validating_to({'user': elephant, 'password': '******'}) controller.post() assert elephant.password == 's3cure!'
def test_post_emits_event(self, event, notify): request = DummyRequest(method='POST') user = FakeUser(password='******') controller = views.ResetPasswordController(request) controller.form = form_validating_to({'user': user, 'password': '******'}) controller.post() event.assert_called_with(request, user) notify.assert_called_with(event.return_value)