39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
import pytest
|
|
|
|
from chrono.agendas.models import Agenda, Resource
|
|
|
|
pytestmark = pytest.mark.django_db
|
|
|
|
|
|
def test_agendas_resources_api(app):
|
|
agenda = Agenda.objects.create(label='Foo bar', kind='meetings')
|
|
resource1 = Resource.objects.create(label='Resource 1', description='Foo bar Resource 1')
|
|
resource2 = Resource.objects.create(label='Resource 2')
|
|
agenda.resources.add(resource1, resource2)
|
|
resp = app.get('/api/agenda/%s/resources/' % agenda.slug)
|
|
assert resp.json == {
|
|
'data': [
|
|
{
|
|
'text': 'Resource 1',
|
|
'id': 'resource-1',
|
|
'description': 'Foo bar Resource 1',
|
|
},
|
|
{
|
|
'text': 'Resource 2',
|
|
'id': 'resource-2',
|
|
'description': '',
|
|
},
|
|
]
|
|
}
|
|
|
|
# unknown
|
|
resp = app.get('/api/agenda/xxxx/resources/', status=404)
|
|
|
|
# wrong kind
|
|
agenda.kind = 'virtual'
|
|
agenda.save()
|
|
resp = app.get('/api/agenda/%s/resources/' % agenda.slug, status=404)
|
|
agenda.kind = 'events'
|
|
agenda.save()
|
|
resp = app.get('/api/agenda/%s/resources/' % agenda.slug, status=404)
|