def test_one_to_many_follow_with_arguments(self): s = self.session l1 = M2mLeft('l1') r1 = M2mRight('r1') r2 = M2mRight('r2') l1.rights.append(r1) l1.rights.append(r2) s.add(l1) s.commit() assert l1.asdict(follow={'rights': { 'exclude': ['id'] }}) == { 'id': l1.id, 'name': l1.name, 'rights': [{ 'name': r1.name }, { 'name': r2.name }] } assert r1.asdict(follow={'lefts': { 'exclude': ['id'] }}) == { 'id': r1.id, 'name': r1.name, 'lefts': [{ 'name': l1.name }] }
def test_many_to_many_follow(self): s = self.session l1 = M2mLeft('l1') r1 = M2mRight('r1') r2 = M2mRight('r2') l1.rights.append(r1) l1.rights.append(r2) s.add(l1) s.commit() assert l1.asdict(follow=['rights']) == {'id': l1.id, 'name': l1.name, 'rights': [r1.asdict(), r2.asdict()]} assert r1.asdict(follow=['lefts']) == {'id': r1.id, 'name': r1.name, 'lefts': [l1.asdict()]}