예제 #1
0
    def test_activitySerializer_required_fields(self):
        request_dummy = RequestFactory().get('/')
        request_dummy.query_params = dict()

        activity = iati_factory.ActivityFactory.build()
        serializer = serializers.ActivitySerializer(
            activity, context={'request': request_dummy})

        required_fields = ('url', 'id', 'iati_identifier', 'title',
                           'description', 'last_updated_datetime',
                           'default_currency', 'hierarchy', 'linked_data_uri',
                           'reporting_organisations',
                           'participating_organisations', 'related_activities',
                           'activity_status', 'activity_dates',
                           'activity_scope', 'recipient_countries',
                           'recipient_regions', 'sectors', 'transactions',
                           'policy_markers', 'collaboration_type',
                           'default_flow_type', 'default_finance_type',
                           'default_aid_type', 'default_tied_status',
                           'budgets', 'capital_spend', 'xml_source_ref',
                           'document_links', 'results', 'locations',
                           'activity_aggregation', 'child_aggregation',
                           'activity_plus_child_aggregation')
        assertion_msg = "the field '{0}' should be in the serialized activity"
        for field in required_fields:
            assert field in serializer.data, assertion_msg.format(field)
예제 #2
0
    def test_activitySerializer(self):
        request_dummy = RequestFactory().get('/')
        request_dummy.query_params = dict()

        activity = iati_factory.ActivityFactory.build(
            last_updated_datetime=datetime.datetime.now(),
            hierarchy=1,
            linked_data_uri='www.data.example.org/123',
        )
        serializer = serializers.ActivitySerializer(
            activity, context={'request': request_dummy})

        assert serializer.data['id'] == activity.id,\
            """
            a serialized activity should contain a field 'id' that contains
            the data in activity.id
            """
        assert serializer.data['iati_identifier'] == activity.iati_identifier,\
            """
            a serialized activity should contain a field 'iati_identifier' that
            contains the data in activity.iati_identifier
            """

        self.assertEqual(serializer.data['last_updated_datetime'],
                         activity.last_updated_datetime.isoformat())

        assert serializer.data['hierarchy'] == activity.hierarchy,\
            """
            a serialized activity should contain a field 'hierarchy' that
            contains the data in activity.hierarchy
            """
        assert serializer.data['linked_data_uri'] == activity.linked_data_uri,\
            """
예제 #3
0
 def test_ActivitySerializerDynamicFields(self):
     activity = iati_factory.ActivityFactory.build(
         id='identifier', iati_identifier='iati-identifier')
     fields = ('id', )
     serializer = serializers.ActivitySerializer(activity, fields=fields)
     assert serializer.data['id'] == 'identifier', \
         """
         activity.id should be serialized since it is specified with
         the fields parameter
         """
     assert 'iati_identifier' not in serializer.data, \
         """
예제 #4
0
    def test_activitySerializer(self):
        request_dummy = RequestFactory().get('/')
        request_dummy.query_params = dict()

        activity = iati_factory.ActivityFactory.build(
            last_updated_datetime=datetime.datetime.now(),
            hierarchy=1,
            linked_data_uri='www.data.example.org/123',
            xml_source_ref='www.data.example.org/123/1234.xml'
        )
        serializer = serializers.ActivitySerializer(
            activity, context={'request': request_dummy})

        assert serializer.data['id'] == activity.id,\
            """
            a serialized activity should contain a field 'id' that contains
            the data in activity.id
            """
        assert serializer.data['iati_identifier'] == activity.iati_identifier,\
            """
            a serialized activity should contain a field 'iati_identifier' that
            contains the data in activity.iati_identifier
            """

        assert serializer.data['last_updated_datetime'] ==\
            activity.last_updated_datetime.strftime("%y-%m-%d"),\
            """
            a serialized activity should contain a field 'last_updated_datetime
            that contains the data in activity.last_updated_datetime
            """
        assert serializer.data['hierarchy'] == activity.hierarchy,\
            """
            a serialized activity should contain a field 'hierarchy' that
            contains the data in activity.hierarchy
            """
        assert serializer.data['linked_data_uri'] == activity.linked_data_uri,\
            """
            a serialized activity should contain a field 'linked_data_uri'
            that contains the data in activity.linked_data_uri
            """
        assert serializer.data['xml_source_ref'] == activity.xml_source_ref,\
            """