Skip to content
Snippets Groups Projects
Commit 4ac0768d authored by Carlos Vega's avatar Carlos Vega
Browse files

added tests and added 400 response if invalid request

parent 2007672d
No related branches found
No related tags found
1 merge request!171Feature/daily availability
...@@ -4,11 +4,11 @@ import logging ...@@ -4,11 +4,11 @@ import logging
from django.core.files.uploadedfile import SimpleUploadedFile from django.core.files.uploadedfile import SimpleUploadedFile
from django.urls import reverse from django.urls import reverse
from web.forms import SubjectEditForm, StudySubjectEditForm, AppointmentEditForm from web.forms import SubjectEditForm, StudySubjectEditForm, AppointmentEditForm, AppointmentAddForm
from web.models import Appointment, StudySubject, Visit from web.models import Appointment, StudySubject, Visit
from web.tests import LoggedInTestCase from web.tests import LoggedInTestCase
from web.tests.functions import create_study_subject, create_visit, create_appointment, create_worker, \ from web.tests.functions import create_study_subject, create_visit, create_appointment, create_worker, \
create_flying_team, format_form_field create_flying_team, format_form_field, get_test_location
from web.views.notifications import get_today_midnight_date from web.views.notifications import get_today_midnight_date
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
...@@ -19,6 +19,41 @@ class AppointmentsViewTests(LoggedInTestCase): ...@@ -19,6 +19,41 @@ class AppointmentsViewTests(LoggedInTestCase):
super(AppointmentsViewTests, self).setUp() super(AppointmentsViewTests, self).setUp()
create_worker(self.user, True) create_worker(self.user, True)
def test_get_add_general_appointment(self):
#test get without visit_id
response = self.client.get(reverse('web.views.appointment_add_general'))
self.assertEqual(response.status_code, 200)
def test_get_add_appointment(self):
#test get with visit_id
subject = create_study_subject()
visit = create_visit(subject)
response = self.client.get(reverse('web.views.appointment_add',
kwargs={'visit_id': visit.id}))
self.assertEqual(response.status_code, 200)
def test_post_add_general_appointment(self):
location = get_test_location()
form_appointment = AppointmentAddForm(user=self.user)
form_data = {}
form_data['datetime_when'] = datetime.datetime.today()
form_data['location'] = location.id
form_data['length'] = 10
response = self.client.post(reverse('web.views.appointment_add_general'), data=form_data)
self.assertEqual(response.status_code, 302)
def test_add_appointment(self):
subject = create_study_subject()
visit = create_visit(subject)
location = get_test_location()
form_data = {}
form_appointment = AppointmentAddForm(user=self.user)
form_data['datetime_when'] = datetime.datetime.today()
form_data['location'] = location.id
form_data['length'] = 10
response = self.client.post(reverse('web.views.appointment_add',
kwargs={'visit_id': visit.id}), data=form_data)
self.assertEqual(response.status_code, 302)
def test_appointments_list_request(self): def test_appointments_list_request(self):
response = self.client.get(reverse('web.views.appointments')) response = self.client.get(reverse('web.views.appointments'))
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
......
...@@ -56,6 +56,9 @@ def appointment_add(request, visit_id=None): ...@@ -56,6 +56,9 @@ def appointment_add(request, visit_id=None):
return redirect('web.views.appointments') return redirect('web.views.appointments')
else: else:
return redirect('web.views.visit_details', id=visit_id) return redirect('web.views.visit_details', id=visit_id)
else:
raise ValidationError("Invalid request: Errors: {}. Non field errors: {}".format(form.errors, form.non_field_errors()))
else: else:
form = AppointmentAddForm(user=request.user) form = AppointmentAddForm(user=request.user)
......
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