diff --git a/tests/api/__init__.py b/tests/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/api/test_agenda.py b/tests/api/test_agenda.py new file mode 100644 index 0000000..b423636 --- /dev/null +++ b/tests/api/test_agenda.py @@ -0,0 +1,35 @@ +import pytest + +from lingo.agendas.models import Agenda, CheckType, CheckTypeGroup + +pytestmark = pytest.mark.django_db + + +def test_agendas_check_types_api(app): + agenda = Agenda.objects.create(label='Foo bar') + group = CheckTypeGroup.objects.create(label='Foo bar') + CheckType.objects.create(label='Foo reason', group=group, kind='absence') + CheckType.objects.create(label='Bar reason', group=group, kind='presence') + CheckType.objects.create(label='Baz reason', group=group, kind='presence', disabled=True) + group2 = CheckTypeGroup.objects.create(label='Foo bar 2') + + resp = app.get('/api/agenda/%s/check-types/' % agenda.slug) + assert resp.json == {'data': []} + + agenda.check_type_group = group2 + agenda.save() + resp = app.get('/api/agenda/%s/check-types/' % agenda.slug) + assert resp.json == {'data': []} + + agenda.check_type_group = group + agenda.save() + resp = app.get('/api/agenda/%s/check-types/' % agenda.slug) + assert resp.json == { + 'data': [ + {'id': 'bar-reason', 'kind': 'presence', 'text': 'Bar reason'}, + {'id': 'foo-reason', 'kind': 'absence', 'text': 'Foo reason'}, + ] + } + + # unknown + resp = app.get('/api/agenda/xxxx/check-types/', status=404) diff --git a/tests/test_api.py b/tests/test_api.py index cbcb689..e69de29 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -1,35 +0,0 @@ -import pytest - -from lingo.agendas.models import Agenda, CheckType, CheckTypeGroup - -pytestmark = pytest.mark.django_db - - -def test_agendas_check_types_api(app): - agenda = Agenda.objects.create(label='Foo bar') - group = CheckTypeGroup.objects.create(label='Foo bar') - CheckType.objects.create(label='Foo reason', group=group, kind='absence') - CheckType.objects.create(label='Bar reason', group=group, kind='presence') - CheckType.objects.create(label='Baz reason', group=group, kind='presence', disabled=True) - group2 = CheckTypeGroup.objects.create(label='Foo bar 2') - - resp = app.get('/api/agenda/%s/check-types/' % agenda.slug) - assert resp.json == {'data': []} - - agenda.check_type_group = group2 - agenda.save() - resp = app.get('/api/agenda/%s/check-types/' % agenda.slug) - assert resp.json == {'data': []} - - agenda.check_type_group = group - agenda.save() - resp = app.get('/api/agenda/%s/check-types/' % agenda.slug) - assert resp.json == { - 'data': [ - {'id': 'bar-reason', 'kind': 'presence', 'text': 'Bar reason'}, - {'id': 'foo-reason', 'kind': 'absence', 'text': 'Foo reason'}, - ] - } - - # unknown - resp = app.get('/api/agenda/xxxx/resources/', status=404)