From 97f982fa2ecae93f13d75290ee0c7ec5fb5de81e Mon Sep 17 00:00:00 2001
From: Carlos Vega <carlos.vega@uni.lu>
Date: Thu, 19 Nov 2020 10:16:16 +0100
Subject: [PATCH] added tests for subject and studysubject delete views

---
 smash/web/tests/view/test_subjects.py | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/smash/web/tests/view/test_subjects.py b/smash/web/tests/view/test_subjects.py
index c0fb2533..7bc859a3 100644
--- a/smash/web/tests/view/test_subjects.py
+++ b/smash/web/tests/view/test_subjects.py
@@ -6,7 +6,7 @@ from django.core.files.uploadedfile import SimpleUploadedFile
 from django.urls import reverse
 
 from web.forms import SubjectAddForm, SubjectEditForm, StudySubjectAddForm, StudySubjectEditForm
-from web.models import MailTemplate, StudySubject, StudyColumns, Visit, Provenance
+from web.models import MailTemplate, StudySubject, StudyColumns, Visit, Provenance, Subject
 from web.models.constants import SEX_CHOICES_MALE, SUBJECT_TYPE_CHOICES_CONTROL, SUBJECT_TYPE_CHOICES_PATIENT, \
     COUNTRY_AFGHANISTAN_ID, COUNTRY_OTHER_ID, MAIL_TEMPLATE_CONTEXT_SUBJECT, CUSTOM_FIELD_TYPE_FILE
 from web.models.custom_data import CustomStudySubjectField
@@ -140,6 +140,30 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase):
         self.assertEqual(response.status_code, 302)
         self.assertTrue("edit" in response.url)
 
+    def test_delete_subject(self):
+        self.login_as_super()
+        study_subject = create_study_subject()
+        subject = study_subject.subject
+        self.assertEqual(1, Subject.objects.filter(id=subject.id).count())
+        self.assertEqual(1, StudySubject.objects.filter(id=study_subject.id).count())
+        url = reverse('web.views.subject_delete', kwargs={'pk': subject.id})
+        response = self.client.post(url)
+        self.assertEqual(response.status_code, 302)
+        self.assertEqual(0, Subject.objects.filter(id=subject.id).count())
+        self.assertEqual(0, StudySubject.objects.filter(id=study_subject.id).count())
+
+    def test_delete_subject(self):
+        self.login_as_super()
+        study_subject = create_study_subject()
+        subject = study_subject.subject
+        self.assertEqual(1, Subject.objects.filter(id=subject.id).count())
+        self.assertEqual(1, StudySubject.objects.filter(id=study_subject.id).count())
+        url = reverse('web.views.study_subject_delete', kwargs={'pk': study_subject.id})
+        response = self.client.post(url)
+        self.assertEqual(response.status_code, 302)
+        self.assertEqual(1, Subject.objects.filter(id=subject.id).count())
+        self.assertEqual(0, StudySubject.objects.filter(id=study_subject.id).count())
+
     def create_edit_form_data_for_study_subject(self, instance: StudySubject = None):
         if instance is None:
             instance = self.study_subject
-- 
GitLab