Skip to content
Snippets Groups Projects
Verified Commit f722392a authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Add test for Person.member_of_recursive

parent cc5b678e
No related branches found
No related tags found
1 merge request!852Resolve "Add recursive helper methods for Group"
......@@ -87,3 +87,39 @@ def test_members_recursive():
assert p_french_only in g_2b.members_recursive
assert p_french_only in g_2c.members_recursive
assert p_french_only not in g_2a.members_recursive
def test_member_of_recursive():
g_2nd_grade = Group.objects.create(name="2nd grade")
g_2a = Group.objects.create(name="2a")
g_2b = Group.objects.create(name="2b")
g_2c = Group.objects.create(name="2c")
g_2nd_grade_french = Group.objects.create(name="2nd grade French")
g_2a.parent_groups.set([g_2nd_grade])
g_2b.parent_groups.set([g_2nd_grade])
g_2c.parent_groups.set([g_2nd_grade])
g_2nd_grade_french.parent_groups.set([g_2b, g_2c])
p_2a_1 = Person.objects.create(first_name="A", last_name="B")
p_2a_2 = Person.objects.create(first_name="A", last_name="B")
p_2b_1 = Person.objects.create(first_name="A", last_name="B")
p_2b_2 = Person.objects.create(first_name="A", last_name="B")
p_2c_1 = Person.objects.create(first_name="A", last_name="B")
p_2c_2 = Person.objects.create(first_name="A", last_name="B")
p_french_only = Person.objects.create(first_name="A", last_name="B")
g_2a.members.set([p_2a_1, p_2a_2])
g_2b.members.set([p_2b_1, p_2b_2])
g_2c.members.set([p_2c_1, p_2c_2])
g_2nd_grade_french.members.set([p_2b_1, p_2c_1, p_french_only])
assert g_2nd_grade in p_2a_1.member_of_recursive
assert g_2nd_grade in p_2a_2.member_of_recursive
assert g_2nd_grade in p_2b_1.member_of_recursive
assert g_2nd_grade in p_2b_2.member_of_recursive
assert g_2nd_grade in p_2c_1.member_of_recursive
assert g_2nd_grade in p_2c_2.member_of_recursive
assert g_2nd_grade in p_french_only.member_of_recursive
assert g_2b in p_french_only.member_of_recursive
assert g_2c in p_french_only.member_of_recursive
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment