36 lines
1.2 KiB
Python
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)
|