def test_construct_links_no_links(self): """Constructing links when there are not any""" class MyResource(ResourceBase): pks = 'id', res = MyResource(properties=dict(id=1, field='value')) adapter = JSONAPIAdapter(resource=res) resp = adapter._construct_links(res) self.assertDictEqual(dict(self='/my_resource/1'), resp)
def test_construct_links(self): """Expected case""" class MyResource(ResourceBase): pks = 'id', _links = Relationship('child', property_map=dict(child_id='pk'), relation='RelatedResource'), class RelatedResource(ResourceBase): pks = 'pk', res = MyResource(properties=dict(id=1), meta=dict(links=dict(child_id=2))) adapter = JSONAPIAdapter(resource=res) resp = adapter._construct_links(res) expected = dict(self='/my_resource/1', child='/related_resource/2') self.assertEqual(resp, expected)
def test_construct_links(self): """Expected case""" class MyResource(ResourceBase): pks = ("id",) _links = (Relationship("child", property_map=dict(child_id="pk"), relation="RelatedResource"),) class RelatedResource(ResourceBase): pks = ("pk",) res = MyResource(properties=dict(id=1), meta=dict(links=dict(child_id=2))) adapter = JSONAPIAdapter(resource=res) resp = adapter._construct_links(res) expected = dict(self="/my_resource/1", child="/related_resource/2") self.assertEqual(resp, expected)