Ensure /all-crawls?sortBy=qaState always sorts crawls above uploads (#1691)

Follow-up to #1686
This commit is contained in:
Tessa Walsh 2024-04-17 22:14:29 -04:00 committed by GitHub
parent 9f0a1fcc95
commit b87860c68a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 1 deletions

View File

@ -627,9 +627,11 @@ class BaseCrawlOps:
sort_query = {sort_by: sort_direction}
# Add secondary sort for qaState - sorted by current, then last
# Secondary sort for qaState - sorted by current, then last
# Tertiary sort for qaState - type, always ascending so crawls are first
if sort_by == "qaState":
sort_query["lastQAState"] = sort_direction
sort_query["type"] = 1
aggregate.extend([{"$sort": sort_query}])

View File

@ -419,6 +419,20 @@ def test_list_all_crawls(
assert item["finished"]
assert item["state"]
# Test that all-crawls qaState sort always puts crawls before uploads
r = requests.get(
f"{API_PREFIX}/orgs/{default_org_id}/all-crawls?sortBy=qaState",
headers=admin_auth_headers,
)
assert r.status_code == 200
data = r.json()
last_type = None
for item in data["items"]:
if last_type == "upload":
assert item["type"] != "crawl"
last_type = item["type"]
def test_get_all_crawls_by_name(
admin_auth_headers, default_org_id, replaced_upload_id, upload_id_2