Skip to content
Snippets Groups Projects

Resolve "PDP study patient data"

Merged Piotr Gawron requested to merge 186-pdp-study-patient-data into master
2 files
+ 29
7
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -5,7 +5,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
from web.models import MailTemplate, StudySubject, StudyColumns
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
from web.tests import LoggedInWithWorkerTestCase
@@ -80,8 +80,6 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase):
url = reverse('web.views.subject_edit', kwargs={'id': self.study_subject.id})
response = self.client.post(url, data=form_data)
logger.debug(response.content)
self.assertEqual(response.status_code, 302)
updated_study_subject = StudySubject.objects.filter(id=self.study_subject.id)[0]
self.assertTrue(updated_study_subject.subject.dead)
@@ -113,11 +111,9 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase):
form_subject = SubjectAddForm(prefix="subject")
form_data = {}
for key, value in form_study_subject.initial.items():
if value is not None:
form_data['study_subject-{}'.format(key)] = value
form_data['study_subject-{}'.format(key)] = format_form_field(value)
for key, value in form_subject.initial.items():
if value is not None:
form_data['subject-{}'.format(key)] = value
form_data['subject-{}'.format(key)] = format_form_field(value)
self.add_valid_form_data_for_subject_add(form_data)
return form_data
@@ -136,6 +132,30 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase):
"prefix should start by L" +
" as default location prefix is not defined and subject type is control")
def test_subjects_add_with_referral_letter_file(self):
StudyColumns.objects.all().update(referral_letter=True)
form_data = self.create_add_form_data_for_study_subject()
form_data["study_subject-type"] = SUBJECT_TYPE_CHOICES_CONTROL
form_data["study_subject-default_location"] = get_test_location().id
form_data["study_subject-referral_letter"] = SimpleUploadedFile("file.txt", b"file_content")
response = self.client.post(reverse('web.views.subject_add'), data=form_data)
self.assertEqual(response.status_code, 302)
response = self.client.get(response.url)
self.assertContains(response, "Subject created")
subject = StudySubject.objects.all().order_by("-id")[0]
# check if edit page renders properly
response = self.client.get(reverse('web.views.subject_edit', kwargs={'id': subject.id}))
self.assertEqual(response.status_code, 200)
# check if file can be downloaded
url = reverse('web.views.uploaded_files') + "?file=" + unicode(subject.referral_letter)
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
def add_valid_form_data_for_subject_add(self, form_data):
form_data["subject-country"] = COUNTRY_AFGHANISTAN_ID
form_data["subject-first_name"] = "John"
Loading