Projet

Général

Profil

0001-misc-move-api-tests.patch

Lauréline Guérin, 22 juillet 2022 18:13

Télécharger (3,45 ko)

Voir les différences:

Subject: [PATCH 1/2] misc: move api tests

 tests/api/__init__.py    |  0
 tests/api/test_agenda.py | 35 +++++++++++++++++++++++++++++++++++
 tests/test_api.py        | 35 -----------------------------------
 3 files changed, 35 insertions(+), 35 deletions(-)
 create mode 100644 tests/api/__init__.py
 create mode 100644 tests/api/test_agenda.py
tests/api/test_agenda.py
1
import pytest
2

  
3
from lingo.agendas.models import Agenda, CheckType, CheckTypeGroup
4

  
5
pytestmark = pytest.mark.django_db
6

  
7

  
8
def test_agendas_check_types_api(app):
9
    agenda = Agenda.objects.create(label='Foo bar')
10
    group = CheckTypeGroup.objects.create(label='Foo bar')
11
    CheckType.objects.create(label='Foo reason', group=group, kind='absence')
12
    CheckType.objects.create(label='Bar reason', group=group, kind='presence')
13
    CheckType.objects.create(label='Baz reason', group=group, kind='presence', disabled=True)
14
    group2 = CheckTypeGroup.objects.create(label='Foo bar 2')
15

  
16
    resp = app.get('/api/agenda/%s/check-types/' % agenda.slug)
17
    assert resp.json == {'data': []}
18

  
19
    agenda.check_type_group = group2
20
    agenda.save()
21
    resp = app.get('/api/agenda/%s/check-types/' % agenda.slug)
22
    assert resp.json == {'data': []}
23

  
24
    agenda.check_type_group = group
25
    agenda.save()
26
    resp = app.get('/api/agenda/%s/check-types/' % agenda.slug)
27
    assert resp.json == {
28
        'data': [
29
            {'id': 'bar-reason', 'kind': 'presence', 'text': 'Bar reason'},
30
            {'id': 'foo-reason', 'kind': 'absence', 'text': 'Foo reason'},
31
        ]
32
    }
33

  
34
    # unknown
35
    resp = app.get('/api/agenda/xxxx/check-types/', status=404)
tests/test_api.py
1
import pytest
2

  
3
from lingo.agendas.models import Agenda, CheckType, CheckTypeGroup
4

  
5
pytestmark = pytest.mark.django_db
6

  
7

  
8
def test_agendas_check_types_api(app):
9
    agenda = Agenda.objects.create(label='Foo bar')
10
    group = CheckTypeGroup.objects.create(label='Foo bar')
11
    CheckType.objects.create(label='Foo reason', group=group, kind='absence')
12
    CheckType.objects.create(label='Bar reason', group=group, kind='presence')
13
    CheckType.objects.create(label='Baz reason', group=group, kind='presence', disabled=True)
14
    group2 = CheckTypeGroup.objects.create(label='Foo bar 2')
15

  
16
    resp = app.get('/api/agenda/%s/check-types/' % agenda.slug)
17
    assert resp.json == {'data': []}
18

  
19
    agenda.check_type_group = group2
20
    agenda.save()
21
    resp = app.get('/api/agenda/%s/check-types/' % agenda.slug)
22
    assert resp.json == {'data': []}
23

  
24
    agenda.check_type_group = group
25
    agenda.save()
26
    resp = app.get('/api/agenda/%s/check-types/' % agenda.slug)
27
    assert resp.json == {
28
        'data': [
29
            {'id': 'bar-reason', 'kind': 'presence', 'text': 'Bar reason'},
30
            {'id': 'foo-reason', 'kind': 'absence', 'text': 'Foo reason'},
31
        ]
32
    }
33

  
34
    # unknown
35
    resp = app.get('/api/agenda/xxxx/resources/', status=404)
36
-