add inventory sorting to the api
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -189,3 +189,27 @@ def test_catalog_is_not_mutated_by_inventory_operations():
|
||||
carrack = client.get(f"/api/v1/items/{CARROCK}").json()
|
||||
assert "quantity" not in carrack
|
||||
assert "notes" not in carrack
|
||||
|
||||
|
||||
def test_sort_by_category_groups_categories():
|
||||
client = authed_client()
|
||||
add(client, CARROCK)
|
||||
add(client, RIFLE)
|
||||
items = client.get("/api/v1/me/inventory?sort=category").json()["items"]
|
||||
assert [i["class_name"] for i in items] == [RIFLE, CARROCK]
|
||||
|
||||
|
||||
def test_sort_by_quantity_is_descending():
|
||||
client = authed_client()
|
||||
add(client, CARROCK, quantity=5)
|
||||
add(client, RIFLE, quantity=1)
|
||||
items = client.get("/api/v1/me/inventory?sort=quantity").json()["items"]
|
||||
assert [i["class_name"] for i in items] == [CARROCK, RIFLE]
|
||||
|
||||
|
||||
def test_sort_defaults_to_name_and_rejects_unknown_values():
|
||||
client = authed_client()
|
||||
add(client, CARROCK)
|
||||
listing = client.get("/api/v1/me/inventory").json()
|
||||
assert [i["class_name"] for i in listing["items"]] == [CARROCK]
|
||||
assert client.get("/api/v1/me/inventory?sort=bogus").status_code == 422
|
||||
|
||||
Reference in New Issue
Block a user