2019-10-31 09:42:22 +01:00
|
|
|
|
import pytest
|
|
|
|
|
|
2021-11-25 16:35:55 +01:00
|
|
|
|
from chrono.agendas.models import Agenda, MeetingType
|
2019-10-31 09:42:22 +01:00
|
|
|
|
from chrono.api.utils import Response
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
|
|
|
'data, expected',
|
|
|
|
|
[
|
|
|
|
|
(None, None),
|
|
|
|
|
({}, {}),
|
|
|
|
|
({'reason': 'foo'}, {'reason': 'foo'}),
|
|
|
|
|
({'err_class': 'foo'}, {'err_class': 'foo', 'reason': 'foo'}),
|
|
|
|
|
({'bar': 'foo'}, {'bar': 'foo'}),
|
|
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
def test_response_data(data, expected):
|
|
|
|
|
resp = Response(data=data)
|
|
|
|
|
assert resp.data == expected
|
2021-11-04 11:05:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_err_desc_translation(db, app, settings):
|
|
|
|
|
settings.LANGUAGE_CODE = 'fr-fr'
|
|
|
|
|
agenda = Agenda.objects.create(label='Foo bar', kind='events')
|
|
|
|
|
|
|
|
|
|
resp = app.get(
|
|
|
|
|
'/api/agenda/%s/datetimes/' % agenda.slug,
|
|
|
|
|
params={'user_external_id': '42', 'exclude_user_external_id': '35'},
|
|
|
|
|
status=400,
|
|
|
|
|
)
|
|
|
|
|
assert resp.json['err_desc'] == 'contenu de requête invalide'
|
|
|
|
|
assert resp.json['err_class'] == 'invalid payload'
|
|
|
|
|
|
2021-11-25 16:35:55 +01:00
|
|
|
|
agenda = Agenda.objects.create(label='Foo bar', kind='meetings')
|
|
|
|
|
meeting_type = MeetingType.objects.create(agenda=agenda, slug='foo', duration=60)
|
|
|
|
|
resp = app.get(
|
|
|
|
|
'/api/agenda/%s/meetings/%s/datetimes/?resources=hop' % (agenda.slug, meeting_type.slug), status=400
|
|
|
|
|
)
|
2021-11-04 11:05:01 +01:00
|
|
|
|
assert resp.json['err_desc'] == 'slugs invalides : hop'
|
|
|
|
|
assert resp.json['err_class'] == 'invalid slugs: hop'
|