23 lines
953 B
Python
23 lines
953 B
Python
from fastapi.testclient import TestClient
|
|
|
|
from app.main import app
|
|
from app.services import search_history
|
|
|
|
|
|
def test_history_survives_new_clients_and_clear():
|
|
with TestClient(app) as client:
|
|
for query in ['first', 'second', ' first ']:
|
|
assert client.post('/api/search', json={'query': query, 'mode': 'fts'}).status_code == 200
|
|
assert client.get('/api/search/history').json() == {'queries': ['first', 'second']}
|
|
with TestClient(app) as client:
|
|
assert client.get('/api/search/history').json() == {'queries': ['first', 'second']}
|
|
assert client.delete('/api/search/history').json() == {'queries': []}
|
|
assert search_history.list_queries() == []
|
|
|
|
|
|
def test_history_is_bounded_and_blank_queries_are_ignored():
|
|
for number in range(12):
|
|
search_history.record(str(number))
|
|
search_history.record(' ')
|
|
assert search_history.list_queries() == [str(number) for number in range(11, 1, -1)]
|