Projet

Général

Profil

0001-general-fix-various-errors-in-menu.json-65374.patch

Frédéric Péters, 17 mai 2022 23:24

Télécharger (2,35 ko)

Voir les différences:

Subject: [PATCH] general: fix various errors in menu.json (#65374)

 lingo/manager/urls.py  |  2 +-
 lingo/manager/views.py |  6 ++++--
 tests/test_manager.py  | 13 +++++++++++++
 3 files changed, 18 insertions(+), 3 deletions(-)
lingo/manager/urls.py
19 19
from . import views
20 20

  
21 21
urlpatterns = [
22
    url(r'^$', views.homepage, name='manager-homepage'),
22
    url(r'^$', views.homepage, name='lingo-manager-homepage'),
23 23
    url(r'^menu.json$', views.menu_json),
24 24
]
lingo/manager/views.py
18 18

  
19 19
from django.http import HttpResponse
20 20
from django.urls import reverse
21
from django.utils.encoding import force_text
22
from django.utils.translation import ugettext_lazy as _
21 23
from django.views.generic import TemplateView
22 24

  
23 25

  
......
33 35
    json_str = json.dumps(
34 36
        [
35 37
            {
36
                'label': label,
38
                'label': force_text(label),
37 39
                'slug': 'lingo',
38
                'url': request.build_absolute_uri(reverse('manage-homepage')),
40
                'url': request.build_absolute_uri(reverse('lingo-manager-homepage')),
39 41
            }
40 42
        ]
41 43
    )
tests/test_manager.py
27 27
def test_access(app, admin_user):
28 28
    app = login(app)
29 29
    assert app.get('/manage/', status=200)
30

  
31

  
32
def test_menu_json(app, admin_user):
33
    app.get('/manage/menu.json', status=302)  # login
34

  
35
    app = login(app)
36
    resp = app.get('/manage/menu.json')
37
    assert resp.headers['content-type'] == 'application/json'
38
    assert resp.json[0]['label'] == 'Payments'
39

  
40
    resp = app.get('/manage/menu.json?callback=fooBar')
41
    assert resp.headers['content-type'] == 'application/javascript'
42
    assert resp.text.startswith('fooBar([{"')
30
-