Skip to content
Snippets Groups Projects
Commit a572a72c authored by Piotr Gawron's avatar Piotr Gawron
Browse files

tests for edit view

parent 1adaf1a2
No related branches found
No related tags found
1 merge request!275Resolve "update automatic visit/subject importer"
import logging
from django.urls import reverse
from web.forms.subject_import_data_form import SubjectImportDataEditForm
from web.models import SubjectImportData
from web.tests import LoggedInWithWorkerTestCase
from web.tests.functions import get_test_study, format_form_field
logger = logging.getLogger(__name__)
class SubjectImportDataViewViewTests(LoggedInWithWorkerTestCase):
def setUp(self):
super().setUp()
self.study = get_test_study()
self.subject_import_data = SubjectImportData.objects.create(study=get_test_study())
def test_render_edit(self):
self.login_as_admin()
response = self.client.get(reverse('web.views.import_subject_edit',
kwargs={'study_id': self.study.id, 'import_id': self.subject_import_data.id}))
self.assertEqual(response.status_code, 200)
def test_save_edit(self):
self.login_as_admin()
form_data = self.get_form_data(self.subject_import_data)
response = self.client.post(
reverse('web.views.import_subject_edit',
kwargs={'study_id': self.study.id, 'import_id': self.subject_import_data.id}), data=form_data)
print(response.content.decode('UTF-8'))
self.assertEqual(response.status_code, 302)
self.assertTrue("study" in response['Location'])
@staticmethod
def get_form_data(subject_import_data: SubjectImportData) -> dict:
voucher_form = SubjectImportDataEditForm(instance=subject_import_data)
form_data = {}
for key, value in list(voucher_form.initial.items()):
form_data[key] = format_form_field(value)
for key, field in voucher_form.fields.items():
if form_data.get(key) is None:
form_data[key] = field.initial
return form_data
......@@ -23,6 +23,7 @@ class VisitImportDataViewViewTests(LoggedInWithWorkerTestCase):
self.assertEqual(response.status_code, 200)
def test_save_edit(self):
self.login_as_admin()
form_data = self.get_form_data(self.visit_import_data)
response = self.client.post(
......@@ -30,7 +31,7 @@ class VisitImportDataViewViewTests(LoggedInWithWorkerTestCase):
kwargs={'study_id': self.study.id, 'import_id': self.visit_import_data.id}), data=form_data)
self.assertEqual(response.status_code, 302)
self.assertFalse("study" in response['Location'])
self.assertTrue("study" in response['Location'])
@staticmethod
def get_form_data(visit_import_data: VisitImportData) -> dict:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment