Commit 4e579e95 authored by Enrico Zini's avatar Enrico Zini
Browse files

Moved more of the assertion checking to ExpectedSets

parent c2b190c8
...@@ -362,6 +362,14 @@ class ExpectedSets(defaultdict): ...@@ -362,6 +362,14 @@ class ExpectedSets(defaultdict):
if not extra: return if not extra: return
self.testcase.fail(self.action_msg.format(visitor=visitor) + " " + self.issue_msg.format(problem="has", mismatch=", ".join(sorted(extra)))) self.testcase.fail(self.action_msg.format(visitor=visitor) + " " + self.issue_msg.format(problem="has", mismatch=", ".join(sorted(extra))))
def assertMatches(self, visited):
for visitor in self.visitors:
visit_perms = visited.permissions_of(self.testcase.persons[visitor])
self.assertEqual(visitor, visit_perms)
for visitor in self.select_others(self.testcase.persons):
visit_perms = visited.permissions_of(self.testcase.persons[visitor] if visitor else None)
self.assertEmpty(visitor, visit_perms)
class ExpectedPerms(object): class ExpectedPerms(object):
""" """
......
...@@ -98,12 +98,7 @@ class TestVisitApplicant(ProcessFixtureMixin, TestCase): ...@@ -98,12 +98,7 @@ class TestVisitApplicant(ProcessFixtureMixin, TestCase):
if "app" not in self.processes: return if "app" not in self.processes: return
# Check process permissions # Check process permissions
for visitor in perms.proc.visitors: perms.proc.assertMatches(self.processes.app)
visit_perms = self.processes.app.permissions_of(self.persons[visitor])
perms.proc.assertEqual(visitor, visit_perms)
for visitor in perms.proc.select_others(self.persons):
visit_perms = self.processes.app.permissions_of(self.persons[visitor] if visitor else None)
perms.proc.assertEmpty(visitor, visit_perms)
# Check requirements # Check requirements
for req in ("intent", "sc_dmup", "advocate", "keycheck", "am_ok"): for req in ("intent", "sc_dmup", "advocate", "keycheck", "am_ok"):
...@@ -112,13 +107,7 @@ class TestVisitApplicant(ProcessFixtureMixin, TestCase): ...@@ -112,13 +107,7 @@ class TestVisitApplicant(ProcessFixtureMixin, TestCase):
wanted = p.combine(perms.proc) wanted = p.combine(perms.proc)
requirement = pmodels.Requirement.objects.get(process=self.processes.app, type=req) requirement = pmodels.Requirement.objects.get(process=self.processes.app, type=req)
for visitor in wanted.visitors: wanted.assertMatches(requirement)
visit_perms = requirement.permissions_of(self.persons[visitor])
wanted.assertEqual(visitor, visit_perms)
for visitor in wanted.select_others(self.persons):
visit_perms = requirement.permissions_of(self.persons[visitor] if visitor else None)
wanted.assertEmpty(visitor, visit_perms)
def _assign_am(self, visitor): def _assign_am(self, visitor):
pmodels.AMAssignment.objects.create(process=self.processes.app, am=self.ams.am, assigned_by=self.persons[visitor], assigned_time=now()) pmodels.AMAssignment.objects.create(process=self.processes.app, am=self.ams.am, assigned_by=self.persons[visitor], assigned_time=now())
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment