Select Git revision
pirati.schema
test_search.py NaN GiB
import pytest
from openlobby.core.api.paginator import Paginator, encode_cursor
from openlobby.core.search import query_reports, reports_by_author
from .dummy import prepare_reports
pytestmark = [pytest.mark.django_db, pytest.mark.usefixtures("django_es")]
@pytest.mark.parametrize(
"query, expected_ids",
[("", [3, 2, 1]), ("sauron", [3, 2]), ("towers", [2]), ("Aragorn Gandalf", [3, 1])],
)
def test_query_reports(query, expected_ids):
prepare_reports()
paginator = Paginator()
response = query_reports(query, paginator)
assert expected_ids == [int(r.meta.id) for r in response]
def test_query_reports__highlight():
prepare_reports()
paginator = Paginator()
query = "King"
response = query_reports(query, paginator, highlight=True)
doc = response.hits[0]
assert "<mark>King</mark>" in doc.meta.highlight.title[0]
assert "<mark>King</mark>" in doc.meta.highlight.body[0]
@pytest.mark.parametrize(
"first, after, expected_ids", [(2, None, [3, 2]), (2, encode_cursor(1), [2, 1])]
)
def test_query_reports__pagination(first, after, expected_ids):
prepare_reports()
query = ""
paginator = Paginator(first=first, after=after)
response = query_reports(query, paginator)
assert expected_ids == [int(r.meta.id) for r in response]
def test_reports_by_author():
prepare_reports()
author_id = 1
paginator = Paginator()
response = reports_by_author(author_id, paginator)
assert [3, 1] == [int(r.meta.id) for r in response]
@pytest.mark.parametrize(
"first, after, expected_ids", [(1, None, [3]), (1, encode_cursor(1), [1])]
)
def test_reports_by_author__pagination(first, after, expected_ids):
prepare_reports()
author_id = 1
paginator = Paginator(first=first, after=after)
response = reports_by_author(author_id, paginator)
assert expected_ids == [int(r.meta.id) for r in response]