def test_has_perm(self): self.trust = Trust(settlor=self.user, trust=Trust.objects.get_root()) self.trust.save() self.content = self.create_content(self.trust) self.trust1 = Trust(settlor=self.user1, trust=Trust.objects.get_root()) self.trust1.save() had = self.user.has_perm(self.get_perm_code(self.perm_change), self.content) self.assertFalse(had) had = self.user.has_perm(self.get_perm_code(self.perm_add), self.content) self.assertFalse(had) trust = Trust(settlor=self.user, title='Test trusts') trust.save() reload_test_users(self) had = self.user.has_perm(self.get_perm_code(self.perm_change), self.content) self.assertFalse(had) tup = TrustUserPermission(trust=self.trust, entity=self.user, permission=self.perm_change) tup.save() reload_test_users(self) had = self.user.has_perm(self.get_perm_code(self.perm_change), self.content) self.assertTrue(had)
def test_get_or_create_default_trust(self): trust, created = Trust.objects.get_or_create_settlor_default(self.user) content = self.create_content(trust) had = self.user.has_perm(self.get_perm_code(self.perm_change), content) self.assertFalse(had) tup = TrustUserPermission(trust=trust, entity=self.user, permission=self.perm_change) tup.save() reload_test_users(self) had = self.user.has_perm(self.get_perm_code(self.perm_change), content) self.assertTrue(had)
def test_filter_by_user_perm(self): self.trust1, created = Trust.objects.get_or_create_settlor_default(self.user) self.trust2 = Trust(settlor=self.user, title='Title 0A', trust=Trust.objects.get_root()) self.trust2.save() tup = TrustUserPermission(trust=self.trust2, entity=self.user, permission=Permission.objects.first()) tup.save() self.trust3 = Trust(settlor=self.user, title='Title 0B', trust=Trust.objects.get_root()) self.trust3.save() self.trust4 = Trust(settlor=self.user1, title='Title 1A', trust=Trust.objects.get_root()) self.trust4.save() tup = TrustUserPermission(trust=self.trust4, entity=self.user, permission=Permission.objects.first()) tup.save() self.trust5 = Trust(settlor=self.user1, title='Title 1B', trust=Trust.objects.get_root()) self.trust5.save() self.group = Group(name='Group A') self.group.save() self.user.groups.add(self.group) self.trust5.groups.add(self.group) self.trust6 = Trust(settlor=self.user1, title='Title 1C', trust=Trust.objects.get_root()) self.trust6.save() trusts = Trust.objects.filter_by_user_perm(self.user) trust_pks = [t.pk for t in trusts] self.assertEqual(trusts.count(), 3) self.assertTrue(self.trust2.id in trust_pks) self.assertTrue(self.trust4.id in trust_pks) self.assertTrue(self.trust5.id in trust_pks)