Skip to content

Commit 4933198

Browse files
committed
test: remove project collaborations of users removed from an organization
1 parent 9668023 commit 4933198

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

docker-app/qfieldcloud/core/tests/test_organization.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
OrganizationMember,
1616
Person,
1717
Project,
18+
ProjectCollaborator,
1819
)
1920

2021
from .utils import set_subscription, setup_subscription_plans
@@ -148,6 +149,32 @@ def test_delete_member(self):
148149
members = OrganizationMember.objects.all()
149150
self.assertEqual(len(members), 0)
150151

152+
def test_delete_member_removes_project_collaborators(self):
153+
# user2 is a member of organization1
154+
org_member = OrganizationMember.objects.create(
155+
organization=self.organization1,
156+
member=self.user2,
157+
role=OrganizationMember.Roles.MEMBER,
158+
)
159+
160+
project = Project.objects.create(
161+
name="the_project",
162+
owner=self.organization1,
163+
is_public=False,
164+
)
165+
# user2 is a collaborator on the project
166+
ProjectCollaborator.objects.create(
167+
project=project,
168+
collaborator=self.user2,
169+
role=ProjectCollaborator.Roles.EDITOR,
170+
)
171+
172+
self.assertEqual(ProjectCollaborator.objects.filter(project=project).count(), 1)
173+
174+
org_member.delete()
175+
176+
self.assertEqual(ProjectCollaborator.objects.filter(project=project).count(), 0)
177+
151178
def test_created_by_set_to_none_on_user_deletion(self):
152179
creator = Person.objects.create(username="creator")
153180
member = Person.objects.create(username="member")

0 commit comments

Comments
 (0)