diff --git a/smash/web/tests/test_view_subjects.py b/smash/web/tests/test_view_subjects.py index 5d822e796d0010fa38871273c366a34b478c86f2..d17229eae1fb5d56748541d746aeb70d85932a74 100644 --- a/smash/web/tests/test_view_subjects.py +++ b/smash/web/tests/test_view_subjects.py @@ -6,7 +6,7 @@ from django.test import TestCase from django.urls import reverse from functions import create_subject, create_worker, get_test_location -from web.forms import SubjectAddForm +from web.forms import SubjectAddForm, SubjectEditForm from web.models import Subject from web.models.constants import SEX_CHOICES_MALE, SUBJECT_TYPE_CHOICES_CONTROL from web.views.notifications import get_today_midnight_date @@ -33,6 +33,30 @@ class SubjectsViewTests(TestCase): # check if screening number prefix is there self.assertTrue("value=\"X-\"" in response.content) + def test_render_subject_edit(self): + subject = create_subject() + + response = self.client.get(reverse('web.views.subject_edit', kwargs={'id': subject.id})) + self.assertEqual(response.status_code, 200) + + def test_save_subject_edit(self): + subject = create_subject() + form_subject = SubjectEditForm(instance=subject) + form_data = {} + for key, value in form_subject.initial.items(): + if value is not None: + form_data[key] = value + + form_data['dead']="True" + form_data['resigned']="True" + response = self.client.post( + reverse('web.views.subject_edit', kwargs={'id': subject.id}), data=form_data) + + self.assertEqual(response.status_code, 302) + updated_subject = Subject.objects.filter(id=subject.id)[0] + self.assertTrue(updated_subject.dead) + self.assertTrue(updated_subject.resigned) + def test_subjects_add_2(self): self.worker.screening_number_prefix = "X" self.worker.save()