Example #1
0
    def test_PublisherSerializer(self):
        publisher = PublisherFactory.build()
        serializer = PublisherSerializer(
            publisher, context={'request': self.request_dummy})

        assert serializer.data['org_id'] == publisher.org_id,\
            """
            'publisher.type' should be serialized to a field called 'type'
            """
        assert serializer.data['org_abbreviate'] == publisher.org_abbreviate,\
            """
            'publisher.source_url' should be serialized to a field called 'source_url'
            """
        assert serializer.data['org_name'] == publisher.org_name,\
            """
            'publisher.org_name' should be serialized to a field called 'org_name'
            """
        assert serializer.data['datasets'] == [],\
            """
            'publisher.datasets' should be serialized to a field called 'datasets'
            """
        assert serializer.data['activity_count'] == 0,\
            """
            'publisher.activity_count' should be serialized to a field called 'activity_count'
            """

        required_fields = ('url', 'org_id', 'org_abbreviate', 'org_name',
                           'datasets', 'activities', 'activity_count')

        assertion_msg = "the field '{0}' should be in the serialized dataset"
        for field in required_fields:
            assert field in serializer.data, assertion_msg.format(field)
Example #2
0
class OrganisationAdminGroupSerializer(serializers.ModelSerializer):
    publisher = PublisherSerializer()

    class Meta:
        model = OrganisationAdminGroup
        fields = (
            'name',
            'publisher',
        )
Example #3
0
    def test_publisher_activities_link(self):
        '''Tests if PublisherSerializer returs proper link for its activities
        '''
        publisher = PublisherFactory()

        serializer = PublisherSerializer(
            publisher, context={'request': self.request_dummy})

        url = self.request_dummy.build_absolute_uri(
            reverse('activities:activity-list'))
        endpoint_url = (url + '?reporting_organisation_identifier=' +
                        publisher.publisher_iati_id)

        assert serializer.data['activities'] == endpoint_url
Example #4
0
    def dataset_publisher(self):
        publisher = get_child_attr(self.record, 'publisher')
        if publisher:
            self.add_field(
                'publisher',
                JSONRenderer().render(
                    PublisherSerializer(fields=[
                        'iati_id', 'publisher_iati_id', 'display_name', 'name',
                        'activity_count'
                    ],
                                        instance=publisher).data).decode())

            self.add_field('publisher_iati_id', publisher.publisher_iati_id)
            self.add_field('publisher_name', publisher.name)
            self.add_field('publisher_display_name', publisher.display_name)