예제 #1
0
 def test_convert_related_keys_on_nested_dict(self):
     p = ParentModel.objects.create()
     c1 = ChildModel.objects.create(parent=p, old_parent=p)
     c2 = ChildModel.objects.create(parent=p, old_parent=p)
     serializer = DeepNestedParentSideloadSerializer(instance=p)
     nested_parent = {
         'id': p.id,
         'text': p.text,
         'child_ids': p.child_ids,
         'old_child_ids': p.old_child_ids
     }
     expected_children = [{
         'id': c.id,
         'parent': nested_parent,
         'old_parent': nested_parent
     } for c in [c1, c2]]
     expected = {
         'parent_model': {
             'id': p.id,
             'text': p.text,
             'children': expected_children,
             'old_children': expected_children
         }
     }
     data = serializer.data
     result = convert_to_active_model_json(data)
     assert result == expected
예제 #2
0
 def test_active_model_json_renderer(self):
     parents = [ParentModel.objects.create() for x in range(3)]
     children = [
         ChildModel.objects.create(parent=parents[1],
                                   old_parent=parents[2]),
         ChildModel.objects.create(parent=parents[1],
                                   old_parent=parents[2]),
         ChildModel.objects.create(parent=parents[0], old_parent=parents[1])
     ]
     obj = ChildSideloadSerializer(children, many=True).data
     expected = {
         'child_models': [
             OrderedDict([('id', c.id), ('parent_id', c.parent.id),
                          ('old_parent_id', c.old_parent.id)])
             for c in children
         ],
         'parent_models': [
             OrderedDict([('id', p.id), ('text', p.text),
                          ('child_ids', p.child_ids),
                          ('old_child_ids', p.old_child_ids)])
             for p in parents
         ]
     }
     result = convert_to_active_model_json(obj)
     assert result == expected
예제 #3
0
 def test_convert_nested_related_keys(self):
     p = ParentModel.objects.create()
     c = ChildModel.objects.create(parent=p, old_parent=p)
     serializer = NestedChildSideloadSerializer(c)
     expected_parent = {
         'id': p.id, 'text': p.text, 'child_ids': p.child_ids,
         'old_child_ids': p.old_child_ids
     }
     expected = {
         'child_model': {
             'id': c.id,
             'parent': expected_parent,
             'old_parent': expected_parent
         },
     }
     result = convert_to_active_model_json(serializer.data)
     assert result == expected
예제 #4
0
 def test_convert_related_keys_single(self):
     parent = ParentModel.objects.create()
     old_parent = ParentModel.objects.create()
     child = ChildModel.objects.create(parent=parent, old_parent=old_parent)
     obj = ChildSideloadSerializer(instance=child).data
     expected = {
         'child_model': OrderedDict([
             ('id', child.id,),
             ('parent_id', parent.id,),
             ('old_parent_id', old_parent.id)
         ]),
         'parent_models': [
             OrderedDict([('id', p.id), ('text', p.text), ('child_ids', p.child_ids),
             ('old_child_ids', p.old_child_ids)])
             for p in [parent, old_parent]
         ]
     }
     result = convert_to_active_model_json(obj)
     assert result == expected
예제 #5
0
 def test_convert_nested_related_keys(self):
     p = ParentModel.objects.create()
     c = ChildModel.objects.create(parent=p, old_parent=p)
     serializer = NestedChildSideloadSerializer(c)
     expected_parent = {
         'id': p.id,
         'text': p.text,
         'child_ids': p.child_ids,
         'old_child_ids': p.old_child_ids
     }
     expected = {
         'child_model': {
             'id': c.id,
             'parent': expected_parent,
             'old_parent': expected_parent
         },
     }
     result = convert_to_active_model_json(serializer.data)
     assert result == expected
예제 #6
0
 def test_convert_related_keys_on_nested_list(self):
     p = ParentModel.objects.create()
     c1 = ChildModel.objects.create(parent=p, old_parent=p)
     c2 = ChildModel.objects.create(parent=p, old_parent=p)
     serializer = NestedParentSideloadSerializer(instance=p)
     expected_children = [
         {'id': c.id, 'parent_id': c.parent.id,
         'old_parent_id': c.old_parent.id} for c in [c1, c2]
     ]
     expected = {
         'parent_model': {
             'id': p.id,
             'text': p.text,
             'children': expected_children,
             'old_children': expected_children
         }
     }
     data = serializer.data
     result = convert_to_active_model_json(data)
     assert result == expected
예제 #7
0
    def test_active_model_json_renderer(self):
        parents = [ParentModel.objects.create() for x in range(3)]
        children = [
            ChildModel.objects.create(parent=parents[1], old_parent=parents[2]),
            ChildModel.objects.create(parent=parents[1], old_parent=parents[2]),
            ChildModel.objects.create(parent=parents[0], old_parent=parents[1])
        ]
        obj = ChildSideloadSerializer(children, many=True).data
        expected = {
            'child_models': [
                OrderedDict([('id', c.id), ('parent_id', c.parent.id),
                ('old_parent_id', c.old_parent.id)]) for c in children
            ],
            'parent_models': [
                OrderedDict([('id', p.id), ('text', p.text),
                ('child_ids', p.child_ids), ('old_child_ids', p.old_child_ids)])
                for p in parents
            ]

        }
        result = convert_to_active_model_json(obj)
        assert result == expected
예제 #8
0
 def test_convert_related_keys_single(self):
     parent = ParentModel.objects.create()
     old_parent = ParentModel.objects.create()
     child = ChildModel.objects.create(parent=parent, old_parent=old_parent)
     obj = ChildSideloadSerializer(instance=child).data
     expected = {
         'child_model':
         OrderedDict([(
             'id',
             child.id,
         ), (
             'parent_id',
             parent.id,
         ), ('old_parent_id', old_parent.id)]),
         'parent_models': [
             OrderedDict([('id', p.id), ('text', p.text),
                          ('child_ids', p.child_ids),
                          ('old_child_ids', p.old_child_ids)])
             for p in [parent, old_parent]
         ]
     }
     result = convert_to_active_model_json(obj)
     assert result == expected