From f5de1c903eedebf0d1283973deab26e4b560ee94 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 8 Sep 2021 17:33:43 -0700 Subject: [PATCH] Adds deletion test --- bookwyrm/tests/views/test_reports.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/bookwyrm/tests/views/test_reports.py b/bookwyrm/tests/views/test_reports.py index de3f03796..9fbeae04a 100644 --- a/bookwyrm/tests/views/test_reports.py +++ b/bookwyrm/tests/views/test_reports.py @@ -1,4 +1,5 @@ """ test for app action functionality """ +import json from unittest.mock import patch from django.template.response import TemplateResponse from django.test import TestCase @@ -137,3 +138,23 @@ class ReportViews(TestCase): views.unsuspend_user(request, self.rat.id) self.rat.refresh_from_db() self.assertTrue(self.rat.is_active) + + @patch("bookwyrm.suggested_users.rerank_suggestions_task.delay") + @patch("bookwyrm.suggested_users.remove_user_task.delay") + def test_delete_user(self, *_): + """toggle whether a user is able to log in""" + self.assertTrue(self.rat.is_active) + request = self.factory.post("", {"password": "password"}) + request.user = self.local_user + request.user.is_superuser = True + + # de-activate + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") as mock: + views.moderator_delete_user(request, self.rat.id) + self.assertEqual(mock.call_count, 1) + activity = json.loads(mock.call_args[0][1]) + self.assertEqual(activity["type"], "Delete") + + self.rat.refresh_from_db() + self.assertFalse(self.rat.is_active) + self.assertEqual(self.rat.deactivation_reason, "moderator_deletion")