diff --git a/.gitignore b/.gitignore index dca966c..95fe68b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,13 @@ __pycache__/ .pytest_cache/ *.pyc data/*.db + +# macOS generated files +.DS_Store +**/.DS_Store +._* +**/._* +.Spotlight-V100 +**/.Spotlight-V100 +.Trashes +**/.Trashes diff --git a/app/templates/boxes/index.html b/app/templates/boxes/index.html index 72811c9..b94687e 100644 --- a/app/templates/boxes/index.html +++ b/app/templates/boxes/index.html @@ -32,8 +32,6 @@
物品数:{{ box.items|length }} - 房间:{{ box.room or '-' }} - 状态:{{ box.status or '-' }}
{% if box.note %}

{{ box.note }}

{% endif %} diff --git a/app/templates/boxes/show.html b/app/templates/boxes/show.html index cccfcd6..e46183e 100644 --- a/app/templates/boxes/show.html +++ b/app/templates/boxes/show.html @@ -63,7 +63,6 @@
数量:{{ item.quantity if item.quantity is not none else 1 }} - {% if item.note %}有备注{% endif %}
{% if item.note %}

{{ item.note }}

{% endif %} diff --git a/tests/test_app.py b/tests/test_app.py index 4bdd093..d05ab58 100644 --- a/tests/test_app.py +++ b/tests/test_app.py @@ -103,6 +103,40 @@ def test_boxes_page_returns_200(client): assert "箱子" in response.text +def test_boxes_overview_card_shows_note_and_item_count_without_room_or_status(client, db_session): + box = Box( + name="Kitchen Box", + note="易碎餐具和杯子", + room="Kitchen", + status="packed", + ) + box.items.append(Item(name="Plate", is_container=False)) + db_session.add(box) + db_session.commit() + + response = client.get("/boxes") + + assert response.status_code == 200 + assert "Kitchen Box" in response.text + assert "物品数:1" in response.text + assert "易碎餐具和杯子" in response.text + assert "房间:" not in response.text + assert "状态:" not in response.text + + +def test_boxes_overview_renders_cleanly_when_note_is_empty(client, db_session): + box = Box(name="No Note Box", note=None, room="Office", status="open") + db_session.add(box) + db_session.commit() + + response = client.get("/boxes") + + assert response.status_code == 200 + assert "No Note Box" in response.text + assert "房间:" not in response.text + assert "状态:" not in response.text + + def test_can_create_box(client, db_session): response = create_box(client, name="Kitchen Box") @@ -177,6 +211,21 @@ def test_box_detail_returns_200_when_box_exists(client, db_session): assert "Visible Box" in response.text +def test_box_detail_item_cards_show_notes_without_note_placeholder_text(client, db_session): + box = Box(name="Overview Box") + box.items.append(Item(name="Accessory Pouch", note="充电器和转换头", is_container=True, quantity=2)) + db_session.add(box) + db_session.commit() + + response = client.get(f"/boxes/{box.id}") + + assert response.status_code == 200 + assert "Accessory Pouch" in response.text + assert "数量:2" in response.text + assert "充电器和转换头" in response.text + assert "有备注" not in response.text + + def test_can_create_regular_item_under_box(client, db_session): box = Box(name="Main Box") db_session.add(box)