summaryrefslogtreecommitdiff
path: root/ishtar_common/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/tests.py')
-rw-r--r--ishtar_common/tests.py87
1 files changed, 75 insertions, 12 deletions
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py
index 4398ed762..6a2e9d3b0 100644
--- a/ishtar_common/tests.py
+++ b/ishtar_common/tests.py
@@ -2068,6 +2068,7 @@ class GDPRTest(TestCase):
self.user = User.objects.create_superuser(
self.username, "nomail@nomail.com", self.password
)
+ self.user.user_permissions.add(Permission.objects.get(codename="change_person"))
self.person_1 = models.Person.objects.create(
name="Boule",
surname=" ",
@@ -2104,19 +2105,81 @@ class GDPRTest(TestCase):
def test_views(self):
nb = models.GDPRLog.objects.count()
- c = Client()
- c.login(username=self.username, password=self.password)
- self.settings(GDPR_LOGGING=True)
- c.get(reverse("get-person"))
- self.assertEqual(models.GDPRLog.objects.count(), nb + 1)
- self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "DC")
- c.get(reverse("get-person", args=["csv"]))
- self.assertEqual(models.GDPRLog.objects.count(), nb + 2)
- self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "DE")
- response = c.get(reverse("show-person", args=[self.person_1.pk, ""]))
- self.assertEqual(models.GDPRLog.objects.count(), nb + 3)
- self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "PC")
+ with self.settings(GDPR_LOGGING=False):
+ c = Client()
+ c.login(username=self.username, password=self.password)
+ c.get(reverse("get-person"))
+ self.assertEqual(models.GDPRLog.objects.count(), nb)
+ with self.settings(GDPR_LOGGING=True):
+ c = Client()
+ c.login(username=self.username, password=self.password)
+ c.get(reverse("get-person"))
+ self.assertEqual(models.GDPRLog.objects.count(), nb + 1)
+ self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "DC")
+ c.get(reverse("get-person", args=["csv"]))
+ self.assertEqual(models.GDPRLog.objects.count(), nb + 2)
+ self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "DE")
+ c.get(reverse("show-person", args=[self.person_1.pk, ""]))
+ self.assertEqual(models.GDPRLog.objects.count(), nb + 3)
+ self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "PV")
+ c.get(reverse("show-person", args=[self.person_1.pk, "pdf"]))
+ self.assertEqual(models.GDPRLog.objects.count(), nb + 4)
+ self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "PE")
+ title = models.TitleType.objects.create(label="Mr", txt_idx='mr')
+ c.post(
+ reverse("person-qa-bulk-update-confirm", args=[str(self.person_1.pk)]),
+ {"qa_title": title.pk},
+ )
+ self.assertEqual(models.GDPRLog.objects.count(), nb + 5)
+ self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "PM")
+ # deletion
+ url = "/person_deletion/"
+ step = "selec-person_deletion"
+ data = {
+ "person_deletionperson_deletion_wizard-current_step": [step],
+ f"{step}-pks": [str(self.person_3.pk)]
+ }
+ c.post(url, data)
+ data = {
+ "person_deletionperson_deletion_wizard-current_step": ["final-person_deletion"],
+ }
+ c.post(url, data, follow=True)
+ self.assertEqual(models.GDPRLog.objects.count(), nb + 6)
+ self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "PD")
+ # auto-merge
+ url = f"/person-manual-merge-items/{self.person_1.pk}_{self.person_2.pk}/"
+ c.post(url, {"main_item": self.person_1.pk}, follow=True)
+ self.assertEqual(models.GDPRLog.objects.count(), nb + 7)
+ self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "Pm")
+ # merge
+ merge_model = models.Person.merge_candidate.through
+ ln = merge_model.objects.count()
+ self.person_4 = models.Person.objects.create(
+ name="George", history_modifier=self.user,
+ )
+ self.person_3.save()
+ self.person_4.save()
+ self.assertTrue(merge_model.objects.count(), ln + 1)
+ data = {
+ "form-0-b_is_duplicate_a": True,
+ "form-0-id": list(merge_model.objects.all())[-1].pk,
+ "form-TOTAL_FORMS": 1,
+ "form-INITIAL_FORMS": 1
+ }
+ c.post("/person-merge/", data)
+ self.assertEqual(models.GDPRLog.objects.count(), nb + 8)
+ self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "Pm")
+ # admin consultation
+ c.get("/admin/ishtar_common/person/")
+ self.assertEqual(models.GDPRLog.objects.count(), nb + 9)
+ self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "AC")
+ c.get(f"/admin/ishtar_common/person/{self.person_1.pk}/change/")
+ self.assertEqual(models.GDPRLog.objects.count(), nb + 10)
+ self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "AV")
+ c.post(f"/admin/ishtar_common/person/{self.person_1.pk}/delete/", {"post": "yes"})
+ self.assertEqual(models.GDPRLog.objects.count(), nb + 11)
+ self.assertEqual(models.GDPRLog.objects.order_by('-pk')[0].activity, "AD")
def test_create_log_performance(self):
persons = []