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
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
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
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)
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)
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!')
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!" )