示例#1
0
    def test_it_raises_if_validate_raises(self, pyramid_request, create_schema):
        create_schema.return_value.validate.side_effect = ValidationError("asplode")

        with pytest.raises(ValidationError) as exc:
            views.create(pyramid_request)

        assert str(exc.value) == "asplode"
示例#2
0
    def test_it_raises_if_validate_raises(self, pyramid_request, create_schema):
        create_schema.return_value.validate.side_effect = ValidationError('asplode')

        with pytest.raises(ValidationError) as exc:
            views.create(pyramid_request)

        assert str(exc.value) == 'asplode'
示例#3
0
    def test_it_validates_the_posted_data(self, pyramid_request,
                                          create_schema):
        """It should call validate() with a request.json_body."""
        views.create(pyramid_request)

        create_schema.return_value.validate.assert_called_once_with(
            pyramid_request.json_body)
示例#4
0
    def test_it_raises_if_create_annotation_raises(self, pyramid_request, storage):
        storage.create_annotation.side_effect = ValidationError("asplode")

        with pytest.raises(ValidationError) as exc:
            views.create(pyramid_request)

        assert str(exc.value) == "asplode"
示例#5
0
    def test_it_raises_if_create_annotation_raises(self, pyramid_request, storage):
        storage.create_annotation.side_effect = ValidationError("asplode")

        with pytest.raises(ValidationError) as exc:
            views.create(pyramid_request)

        assert str(exc.value) == "asplode"
示例#6
0
    def test_it_validates_the_posted_data(self, pyramid_request, create_schema):
        """It should call validate() with a request.json_body."""
        views.create(pyramid_request)

        create_schema.return_value.validate.assert_called_once_with(
            pyramid_request.json_body
        )
示例#7
0
    def test_it_presents_annotation(
        self, annotation_resource, presentation_service, pyramid_request
    ):
        views.create(pyramid_request)

        presentation_service.present.assert_called_once_with(
            annotation_resource.return_value
        )
示例#8
0
    def test_it_presents_annotation(self,
                                    annotation_resource,
                                    presentation_service,
                                    pyramid_request):
        views.create(pyramid_request)

        presentation_service.present.assert_called_once_with(
                annotation_resource.return_value)
示例#9
0
    def test_it_publishes_annotation_event(self, AnnotationEvent,
                                           pyramid_request, storage):
        views.create(pyramid_request)

        annotation = storage.create_annotation.return_value
        AnnotationEvent.assert_called_once_with(pyramid_request, annotation.id,
                                                "create")
        pyramid_request.notify_after_commit.assert_called_once_with(
            AnnotationEvent.return_value)
示例#10
0
    def test_it_creates_the_annotation_in_storage(self, pyramid_request,
                                                  storage, create_schema,
                                                  groupfinder_service):
        schema = create_schema.return_value

        views.create(pyramid_request)

        storage.create_annotation.assert_called_once_with(
            pyramid_request, schema.validate.return_value, groupfinder_service)
示例#11
0
    def test_it_creates_the_annotation_in_storage(
        self, pyramid_request, storage, create_schema, group_service
    ):
        schema = create_schema.return_value

        views.create(pyramid_request)

        storage.create_annotation.assert_called_once_with(
            pyramid_request, schema.validate.return_value, group_service
        )
示例#12
0
 def test_it_raises_if_json_parsing_fails(self, pyramid_request):
     """It raises PayloadError if parsing of the request body fails."""
     # Make accessing the request.json_body property raise ValueError.
     type(pyramid_request).json_body = {}
     with mock.patch.object(type(pyramid_request),
                            'json_body',
                            new_callable=mock.PropertyMock) as json_body:
         json_body.side_effect = ValueError()
         with pytest.raises(views.PayloadError):
             views.create(pyramid_request)
示例#13
0
 def test_it_raises_if_json_parsing_fails(self, pyramid_request):
     """It raises PayloadError if parsing of the request body fails."""
     # Make accessing the request.json_body property raise ValueError.
     type(pyramid_request).json_body = {}
     with mock.patch.object(type(pyramid_request),
                            "json_body",
                            new_callable=mock.PropertyMock) as json_body:
         json_body.side_effect = ValueError()
         with pytest.raises(views.PayloadError):
             views.create(pyramid_request)
示例#14
0
    def test_it_initialises_annotation_resource(self, storage,
                                                annotation_resource,
                                                pyramid_request, group_service,
                                                links_service):

        annotation = storage.create_annotation.return_value

        views.create(pyramid_request)

        annotation_resource.assert_called_once_with(annotation, group_service,
                                                    links_service)
示例#15
0
    def test_it_initialises_annotation_resource(self,
                                                storage,
                                                annotation_resource,
                                                pyramid_request,
                                                group_service,
                                                links_service):

        annotation = storage.create_annotation.return_value

        views.create(pyramid_request)

        annotation_resource.assert_called_once_with(
                annotation, group_service, links_service)
示例#16
0
    def test_it_publishes_annotation_event(self,
                                           AnnotationEvent,
                                           pyramid_request,
                                           storage):
        """It publishes an annotation "create" event for the annotation."""
        views.create(pyramid_request)

        annotation = storage.create_annotation.return_value

        AnnotationEvent.assert_called_once_with(pyramid_request,
                                                annotation.id,
                                                'create')
        pyramid_request.notify_after_commit.assert_called_once_with(
            AnnotationEvent.return_value)
示例#17
0
    def test_it(self, pyramid_request, create_schema, storage,
                annotation_json_service):
        result = views.create(pyramid_request)

        create_schema.assert_called_once_with(pyramid_request)
        create_schema.return_value.validate.assert_called_once_with(
            pyramid_request.json_body)
        storage.create_annotation.assert_called_once_with(
            pyramid_request, create_schema.return_value.validate.return_value)

        annotation_json_service.present_for_user.assert_called_once_with(
            annotation=storage.create_annotation.return_value,
            user=pyramid_request.user)

        assert result == annotation_json_service.present_for_user.return_value
示例#18
0
    def test_it_returns_presented_annotation(self, presentation_service,
                                             pyramid_request):
        result = views.create(pyramid_request)

        assert result == presentation_service.present.return_value
示例#19
0
    def test_it_inits_CreateAnnotationSchema(self, pyramid_request, create_schema):
        views.create(pyramid_request)

        create_schema.assert_called_once_with(pyramid_request)
示例#20
0
    def test_it_inits_CreateAnnotationSchema(self, pyramid_request,
                                             create_schema):
        views.create(pyramid_request)

        create_schema.assert_called_once_with(pyramid_request)
示例#21
0
    def test_it_returns_presented_annotation(self, presentation_service, pyramid_request):
        result = views.create(pyramid_request)

        assert result == presentation_service.present.return_value