misc: add tests on num queries (#39761)

This commit is contained in:
Lauréline Guérin 2020-02-11 15:48:38 +01:00
parent 44b3170137
commit 1f80623e2b
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
1 changed files with 28 additions and 1 deletions

View File

@ -10,8 +10,10 @@ from django.core.files.storage import default_storage
from django.core.urlresolvers import reverse
from django.conf import settings
from django.contrib.auth.models import User, Group
from django.db import connection
from django.template import TemplateSyntaxError
from django.test import override_settings
from django.test.utils import CaptureQueriesContext
from django.utils.http import urlencode
from django.utils.six import BytesIO
from django.utils.six.moves.urllib import parse as urlparse
@ -21,7 +23,7 @@ from webtest import TestApp
from webtest import Upload
from combo.wsgi import application
from combo.data.models import Page, CellBase, TextCell, LinkCell, ConfigJsonCell, JsonCell, PageSnapshot, LinkListCell, ParentContentCell
from combo.data.models import Page, CellBase, TextCell, LinkCell, ConfigJsonCell, JsonCell, PageSnapshot, LinkListCell, ParentContentCell, MenuCell
from combo.apps.assets.models import Asset
from combo.apps.family.models import FamilyInfosCell
from combo.apps.search.models import SearchCell
@ -312,6 +314,31 @@ def test_edit_page_navigation(app, admin_user):
assert '<li class="nav-right"' not in resp.text
def test_edit_page_num_queries(app, admin_user):
page = Page.objects.create(title='One', slug='one', parent=None, template_name='standard')
page2 = Page.objects.create(title='Two', slug='two', parent=page, template_name='standard')
MenuCell.objects.create(page=page, order=0)
TextCell.objects.create(page=page, placeholder='content', text='Foobar', order=1)
LinkCell.objects.create(page=page, placeholder='content', link_page=page2, order=2)
JsonCell.objects.create(page=page, placeholder='content', order=3, url='http://example.com')
SearchCell.objects.create(page=page, _search_services={'data': ['_text']}, order=4)
cell = LinkListCell.objects.create(order=5, placeholder='content', page=page)
for i in range(5):
LinkCell.objects.create(
page=page,
placeholder=cell.link_placeholder,
title='Foo %s' % i,
url='http://example.net/',
link_page=page,
order=i+1,
)
app = login(app)
with CaptureQueriesContext(connection) as ctx:
app.get('/manage/pages/%s/' % page.pk)
assert len(ctx.captured_queries) == 89
def test_delete_page(app, admin_user):
Page.objects.all().delete()
page = Page(title='One', slug='one', template_name='standard')