コード例 #1
0
ファイル: tests.py プロジェクト: lydell/django-bananas
    def test_modeldict_from_model(self):
        d = ModelDict.from_model(self.child, 'id', 'parent__id',
                                 'parent__name')
        self.assertDictEqual(d, {
            'id': self.child.id,
            'parent__id': self.parent.id,
            'parent__name': 'A'
        })
        self.assertTrue(d.parent)

        _child = Child.objects.create(name='B')
        d = ModelDict.from_model(_child, 'id', 'parent__id', 'parent__name')
        self.assertDictEqual(d, {
            'id': _child.id,
            'parent': None,
        })

        _parent = Node.objects.create(name='A', parent=None)
        _child = Node.objects.create(name='B', parent=_parent)
        _grandchild = Node.objects.create(name='C', parent=_child)

        d = ModelDict.from_model(_grandchild,
                                 test__id='parent__parent__id',
                                 test__name='parent__parent__name')
        self.assertDictEqual(d, {
            'test__id': self.parent.id,
            'test__name': 'A',
        })
        self.assertDictEqual(d.test, {
            'id': self.parent.id,
            'name': 'A',
        })

        _child.parent = None
        _child.save()

        d = ModelDict.from_model(_grandchild,
                                 test__id='parent__parent__id',
                                 test__name='parent__parent__name')
        self.assertDictEqual(d, {
            'test__id': None,
            'test__name': None,
        })

        d = ModelDict.from_model(self.child)
        self.assertEqual(len(d), 5)
コード例 #2
0
ファイル: tests.py プロジェクト: pombredanne/django-bananas
    def test_modeldict_from_model(self):
        d = ModelDict.from_model(self.child, 'id', 'parent__id', 'parent__name')
        self.assertDictEqual(d, {
            'id': self.child.id,
            'parent__id': self.parent.id,
            'parent__name': 'A'
        })
        self.assertTrue(d.parent)

        _child = Child.objects.create(name='B')
        d = ModelDict.from_model(_child, 'id', 'parent__id', 'parent__name')
        self.assertDictEqual(d, {
            'id': _child.id,
            'parent': None,
        })

        _parent = Node.objects.create(name='A', parent=None)
        _child = Node.objects.create(name='B', parent=_parent)
        _grandchild = Node.objects.create(name='C', parent=_child)

        d = ModelDict.from_model(_grandchild,
                                 test__id='parent__parent__id',
                                 test__name='parent__parent__name')
        self.assertDictEqual(d, {
            'test__id': self.parent.id,
            'test__name': 'A',
        })
        self.assertDictEqual(d.test, {
            'id': self.parent.id,
            'name': 'A',
        })

        _child.parent = None
        _child.save()

        d = ModelDict.from_model(_grandchild,
                                 test__id='parent__parent__id',
                                 test__name='parent__parent__name')
        self.assertDictEqual(d, {
            'test__id': None,
            'test__name': None,
        })
コード例 #3
0
ファイル: tests.py プロジェクト: gelbander/django-bananas
    def test_modeldict_from_model(self):
        d = ModelDict.from_model(self.child, "id", "parent__id", "parent__name")
        self.assertDictEqual(d, {"id": self.child.id, "parent__id": self.parent.id, "parent__name": "A"})
        self.assertTrue(d.parent)

        _child = Child.objects.create(name="B")
        d = ModelDict.from_model(_child, "id", "parent__id", "parent__name")
        self.assertDictEqual(d, {"id": _child.id, "parent": None})

        _parent = Node.objects.create(name="A", parent=None)
        _child = Node.objects.create(name="B", parent=_parent)
        _grandchild = Node.objects.create(name="C", parent=_child)

        d = ModelDict.from_model(_grandchild, test__id="parent__parent__id", test__name="parent__parent__name")
        self.assertDictEqual(d, {"test__id": self.parent.id, "test__name": "A"})
        self.assertDictEqual(d.test, {"id": self.parent.id, "name": "A"})

        _child.parent = None
        _child.save()

        d = ModelDict.from_model(_grandchild, test__id="parent__parent__id", test__name="parent__parent__name")
        self.assertDictEqual(d, {"test__id": None, "test__name": None})
コード例 #4
0
ファイル: tests.py プロジェクト: lydell/django-bananas
 def test_wrong_path(self):
     self.assertRaises(
         AttributeError,
         lambda: ModelDict.from_model(self.child, 'does__not__exist'))
コード例 #5
0
ファイル: tests.py プロジェクト: gelbander/django-bananas
 def test_wrong_path(self):
     self.assertRaises(AttributeError, lambda: ModelDict.from_model(self.child, "does__not__exist"))
コード例 #6
0
ファイル: tests.py プロジェクト: pombredanne/django-bananas
 def test_wrong_path(self):
     self.assertRaises(KeyError,
                       lambda: ModelDict.from_model(self.child,
                                                    'does__not__exist'))