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

unit test for configuration api

parent b6545312
No related branches found
No related tags found
1 merge request!36Resolve "configuration panel"
Pipeline #
......@@ -26,7 +26,8 @@ urlpatterns = [
# configuration items
url(r'^configuration_items$', configuration.configuration_items, name='web.api.configuration_items'),
url(r'^configuration_items/update$', configuration.update_configuration_item, name='web.api.update_configuration_item'),
url(r'^configuration_items/update$', configuration.update_configuration_item,
name='web.api.update_configuration_item'),
# subjects data
url(r'^cities$', subject.cities, name='web.api.cities'),
......
......@@ -32,9 +32,10 @@ def configuration_items(request):
"data": data
})
@login_required
def update_configuration_item(request):
id = int(request.GET.get("id", None))
id = int(request.GET.get("id", "-1"))
value = request.GET.get("value", None)
if (id is None) or (value is None):
......@@ -43,13 +44,14 @@ def update_configuration_item(request):
"message": "id and value are obligatory"
})
item = ConfigurationItem.objects.get(id=id)
if item is None:
items = ConfigurationItem.objects.filter(id=id)
if len(items) == 0:
return JsonResponse({
"status": "error",
"message": "item with given id doesn't exist"
})
item.value=value
item = items[0]
item.value = value
item.save()
return JsonResponse({
"status": "ok",
......
......@@ -2,7 +2,7 @@ import datetime
from django.contrib.auth.models import User
from web.models import Location, AppointmentType, Subject, Worker, Visit, Appointment
from web.models import Location, AppointmentType, Subject, Worker, Visit, Appointment, ConfigurationItem
from web.models.constants import SEX_CHOICES_MALE, SUBJECT_TYPE_CHOICES_CONTROL
from web.views.notifications import get_today_midnight_date
......@@ -89,3 +89,12 @@ def create_appointment(visit=None, when=None):
length=30,
location=get_test_location(),
datetime_when=when)
def create_configuration_item():
item = ConfigurationItem.objects.create()
item.type = "TEST"
item.value = "xxx"
item.name = "yyy"
item.save()
return item;
# coding=utf-8
from django.urls import reverse
from web.models import ConfigurationItem
from web.tests.functions import create_configuration_item
from . import LoggedInTestCase
class TestConfigurationItemApi(LoggedInTestCase):
def test_configuration_items(self):
create_configuration_item()
response = self.client.get(reverse('web.api.configuration_items'))
self.assertEqual(response.status_code, 200)
def test_configuration_modify_invalid(self):
response = self.client.get(reverse('web.api.update_configuration_item'))
self.assertEqual(response.status_code, 200)
self.assertTrue("error" in response.content)
def test_configuration_modify_invalid_2(self):
response = self.client.get(reverse('web.api.update_configuration_item'), {'id': "-15", 'value': "XXX"})
self.assertEqual(response.status_code, 200)
self.assertTrue("error" in response.content)
def test_configuration_modify(self):
item = create_configuration_item()
new_val = 'new val'
response = self.client.get(reverse('web.api.update_configuration_item'), {'id': item.id, 'value': new_val})
self.assertEqual(response.status_code, 200)
updated_item = ConfigurationItem.objects.get(id=item.id)
self.assertEqual(new_val, updated_item.value)
import datetime
from django.urls import reverse
from functions import create_subject, create_visit, create_appointment, create_appointment_type
from web.forms import VisitDetailForm, VisitAddForm
from web.models import Visit
from web.views.notifications import get_today_midnight_date
from . import LoggedInTestCase
class ConfigurationViewTests(LoggedInTestCase):
def test_visit_details_request(self):
response = self.client.get(reverse('web.views.configuration'))
self.assertEqual(response.status_code, 200)
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