diff --git a/bookwyrm/tests/views/test_group.py b/bookwyrm/tests/views/test_group.py index 5bdd3a6c..8b8825d5 100644 --- a/bookwyrm/tests/views/test_group.py +++ b/bookwyrm/tests/views/test_group.py @@ -188,3 +188,44 @@ class GroupViews(TestCase): result = views.remove_member(request) # nothing happens self.assertEqual(result.status_code, 302) + + def test_remove_member_invited(self, _): + """remove an invited member""" + models.GroupMemberInvitation.objects.create( + user=self.rat, + group=self.testgroup, + ) + request = self.factory.post( + "", + { + "group": self.testgroup.id, + "user": self.rat.localname, + }, + ) + request.user = self.local_user + result = views.remove_member(request) + self.assertEqual(result.status_code, 302) + self.assertFalse(models.GroupMemberInvitation.objects.exists()) + + def test_remove_member_existing_member(self, _): + """remove an invited member""" + models.GroupMember.objects.create( + user=self.rat, + group=self.testgroup, + ) + request = self.factory.post( + "", + { + "group": self.testgroup.id, + "user": self.rat.localname, + }, + ) + request.user = self.local_user + result = views.remove_member(request) + self.assertEqual(result.status_code, 302) + self.assertEqual(models.GroupMember.objects.count(), 1) + self.assertEqual(models.GroupMember.objects.first().user, self.local_user) + notification = models.Notification.objects.get() + self.assertEqual(notification.user, self.rat) + self.assertEqual(notification.related_group, self.testgroup) + self.assertEqual(notification.notification_type, "REMOVE")