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()