ux improve

This commit is contained in:
2026-04-19 13:26:23 +02:00
parent ea73b0c165
commit 4c4ff61fab
9 changed files with 459 additions and 52 deletions
+68
View File
@@ -707,3 +707,71 @@ def test_search_result_without_image_does_not_break_template(client, db_session)
assert response.status_code == 200
assert "无图物品" in response.text
def test_new_box_page_shows_clear_context(client):
response = client.get("/boxes/new")
assert response.status_code == 200
assert "新建 Box" in response.text
assert "创建顶层箱子" in response.text
def test_new_item_page_shows_clear_context_and_default_quantity(client, db_session):
box = Box(name="主卧箱")
db_session.add(box)
db_session.commit()
response = client.get(f"/boxes/{box.id}/items/new")
assert response.status_code == 200
assert "新建 Item" in response.text
assert "主卧箱" in response.text
assert 'name="quantity"' in response.text
assert 'value="1"' in response.text
assert "这个物品本身是一个小容器" in response.text
def test_new_subitem_page_shows_clear_context_and_default_quantity(client, db_session):
box = Box(name="客厅箱")
item = Item(name="文件袋", box=box, is_container=True)
db_session.add_all([box, item])
db_session.commit()
response = client.get(f"/items/{item.id}/subitems/new")
assert response.status_code == 200
assert "新建 SubItem" in response.text
assert "客厅箱" in response.text
assert "文件袋" in response.text
assert 'name="quantity"' in response.text
assert 'value="1"' in response.text
def test_box_detail_page_renders_clear_hierarchy_and_dense_list_structure(client, db_session):
box = Box(name="厨房箱")
item = Item(name="", box=box, is_container=False)
db_session.add_all([box, item])
db_session.commit()
response = client.get(f"/boxes/{box.id}")
assert response.status_code == 200
assert "Box" in response.text
assert "厨房箱" in response.text
assert "compact-row" in response.text
def test_item_detail_page_renders_clear_hierarchy(client, db_session):
box = Box(name="书房箱")
item = Item(name="配件盒", box=box, is_container=True)
subitem = SubItem(name="转接头", parent_item=item)
db_session.add_all([box, item, subitem])
db_session.commit()
response = client.get(f"/items/{item.id}")
assert response.status_code == 200
assert "容器型 Item" in response.text
assert "书房箱" in response.text
assert "SubItem" in response.text