lingo/tests/api/test_agenda.py

36 lines
1.2 KiB
Python

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)