20 |
20 |
from combo.apps.search.engines import engines
|
21 |
21 |
from combo.apps.search.models import IndexedCell, SearchCell
|
22 |
22 |
from combo.apps.search.utils import index_site, search_site
|
23 |
|
from combo.data.models import JsonCell, LinkCell, MenuCell, Page, PageSnapshot, TextCell
|
|
23 |
from combo.data.models import JsonCell, LinkCell, LinkListCell, MenuCell, Page, PageSnapshot, TextCell
|
24 |
24 |
|
25 |
25 |
from .test_manager import login
|
26 |
26 |
|
... | ... | |
535 |
535 |
assert len(hits) == 1
|
536 |
536 |
|
537 |
537 |
|
|
538 |
def test_search_external_links_in_list_of_links(app):
|
|
539 |
page = Page(title='example page', slug='example-page')
|
|
540 |
page.save()
|
|
541 |
|
|
542 |
cell = SearchCell(page=page, placeholder='content', _search_services={'data': ['_text']}, order=0)
|
|
543 |
cell.save()
|
|
544 |
|
|
545 |
index_site()
|
|
546 |
request = RequestFactory().get('/')
|
|
547 |
request.user = AnonymousUser()
|
|
548 |
hits = search_site(request, 'foobar')
|
|
549 |
assert len(hits) == 0
|
|
550 |
|
|
551 |
cell = LinkListCell.objects.create(order=0, page=page, placeholder='content')
|
|
552 |
LinkCell.objects.create(
|
|
553 |
page=page,
|
|
554 |
placeholder=cell.link_placeholder,
|
|
555 |
title='foobar example',
|
|
556 |
url='http://example.net',
|
|
557 |
order=0,
|
|
558 |
)
|
|
559 |
LinkCell.objects.create(
|
|
560 |
page=page,
|
|
561 |
placeholder=cell.link_placeholder,
|
|
562 |
title='Example 2 Site',
|
|
563 |
url='http://example.org/',
|
|
564 |
order=1,
|
|
565 |
)
|
|
566 |
|
|
567 |
index_site()
|
|
568 |
|
|
569 |
hits = search_site(request, 'foobar')
|
|
570 |
assert len(hits) == 1
|
|
571 |
assert hits[0]['text'] == 'foobar example'
|
|
572 |
assert hits[0]['url'] == 'http://example.net'
|
|
573 |
|
|
574 |
hits = search_site(request, 'example')
|
|
575 |
assert len(hits) == 2
|
|
576 |
|
|
577 |
|
538 |
578 |
def test_manager_search_cell(settings, app, admin_user):
|
539 |
579 |
page = Page.objects.create(title='One', slug='one', template_name='standard')
|
540 |
580 |
cell = SearchCell.objects.create(page=page, placeholder='content', order=0)
|
... | ... | |
1370 |
1410 |
assert IndexedCell.objects.count() == 50
|
1371 |
1411 |
with CaptureQueriesContext(connection) as ctx:
|
1372 |
1412 |
index_site()
|
1373 |
|
assert len(ctx.captured_queries) == 222
|
|
1413 |
assert len(ctx.captured_queries) == 223
|
1374 |
1414 |
|
1375 |
1415 |
SearchCell.objects.create(
|
1376 |
1416 |
page=page, placeholder='content', order=0, _search_services={'data': ['search1']}
|
1377 |
|
-
|