예제 #1
0
    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'}
예제 #2
0
    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)
예제 #3
0
    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!'
예제 #4
0
    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)