Пример #1
0
    def test_get_returns_rendered_form(self, pyramid_request, form_validating_to):
        controller = views.ResetController(pyramid_request)
        controller.form = form_validating_to({})

        result = controller.get()

        assert result["form"] == "valid form"
        assert result["has_code"] is False
Пример #2
0
    def test_post_returns_form_when_validation_fails(self, invalid_form,
                                                     pyramid_request):
        controller = views.ResetController(pyramid_request)
        controller.form = invalid_form()

        result = controller.post()

        assert result == {'form': 'invalid form'}
    def test_get_with_prefilled_code_returns_404_if_invalid_code(
            self, pyramid_request, ResetCode, form_validating_to):
        pyramid_request.matchdict["code"] = "whatnot"
        ResetCode.return_value.deserialize.side_effect = colander.Invalid(
            "nope")
        controller = views.ResetController(pyramid_request)
        controller.form = form_validating_to({})

        with pytest.raises(httpexceptions.HTTPNotFound):
            controller.get_with_prefilled_code()
    def test_get_with_prefilled_code_returns_rendered_form(
            self, pyramid_request, ResetCode, form_validating_to):
        pyramid_request.matchdict["code"] = "whatnot"
        controller = views.ResetController(pyramid_request)
        controller.form = form_validating_to({})

        result = controller.get_with_prefilled_code()

        assert result["form"] == "valid form"
        assert result["has_code"] is True
Пример #5
0
    def test_get_with_prefilled_code_returns_rendered_form(
            self, pyramid_request, ResetCode, form_validating_to):
        pyramid_request.matchdict['code'] = 'whatnot'
        controller = views.ResetController(pyramid_request)
        controller.form = form_validating_to({})

        result = controller.get_with_prefilled_code()

        assert result['form'] == 'valid form'
        assert result['has_code'] is True
Пример #6
0
    def test_post_redirects_on_success(
        self, factories, form_validating_to, pyramid_request
    ):
        user = factories.User()
        controller = views.ResetController(pyramid_request)
        controller.form = form_validating_to({"user": user, "password": "******"})

        result = controller.post()

        assert isinstance(result, httpexceptions.HTTPRedirection)
Пример #7
0
    def test_post_emits_event(
        self, event, factories, form_validating_to, notify, pyramid_request
    ):
        user = factories.User()
        controller = views.ResetController(pyramid_request)
        controller.form = form_validating_to({"user": user, "password": "******"})

        controller.post()

        event.assert_called_with(pyramid_request, user)
        notify.assert_called_with(event.return_value)
Пример #8
0
    def test_post_sets_user_password_from_form(self,
                                               factories,
                                               form_validating_to,
                                               pyramid_request):
        elephant = factories.User(password='******')
        controller = views.ResetController(pyramid_request)
        controller.form = form_validating_to({'user': elephant,
                                              'password': '******'})

        controller.post()

        assert elephant.check_password('s3cure!')
Пример #9
0
    def test_post_sets_user_password_from_form(
        self, factories, form_validating_to, pyramid_request, user_password_service
    ):
        elephant = factories.User()
        controller = views.ResetController(pyramid_request)
        controller.form = form_validating_to({"user": elephant, "password": "******"})

        controller.post()

        user_password_service.update_password.assert_called_once_with(
            elephant, "s3cure!"
        )