Refine overview cards and ignore macOS files

This commit is contained in:
2026-04-19 16:06:01 +02:00
parent 8d89caea0c
commit c3ba361724
4 changed files with 59 additions and 3 deletions
+10
View File
@@ -3,3 +3,13 @@ __pycache__/
.pytest_cache/ .pytest_cache/
*.pyc *.pyc
data/*.db data/*.db
# macOS generated files
.DS_Store
**/.DS_Store
._*
**/._*
.Spotlight-V100
**/.Spotlight-V100
.Trashes
**/.Trashes
-2
View File
@@ -32,8 +32,6 @@
</div> </div>
<div class="row-meta-grid"> <div class="row-meta-grid">
<span>物品数:{{ box.items|length }}</span> <span>物品数:{{ box.items|length }}</span>
<span>房间:{{ box.room or '-' }}</span>
<span>状态:{{ box.status or '-' }}</span>
</div> </div>
{% if box.note %}<p class="row-note">{{ box.note }}</p>{% endif %} {% if box.note %}<p class="row-note">{{ box.note }}</p>{% endif %}
</div> </div>
-1
View File
@@ -63,7 +63,6 @@
</div> </div>
<div class="row-meta-grid"> <div class="row-meta-grid">
<span>数量:{{ item.quantity if item.quantity is not none else 1 }}</span> <span>数量:{{ item.quantity if item.quantity is not none else 1 }}</span>
{% if item.note %}<span>有备注</span>{% endif %}
</div> </div>
{% if item.note %}<p class="row-note">{{ item.note }}</p>{% endif %} {% if item.note %}<p class="row-note">{{ item.note }}</p>{% endif %}
</div> </div>
+49
View File
@@ -103,6 +103,40 @@ def test_boxes_page_returns_200(client):
assert "箱子" in response.text 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): def test_can_create_box(client, db_session):
response = create_box(client, name="Kitchen Box") 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 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): def test_can_create_regular_item_under_box(client, db_session):
box = Box(name="Main Box") box = Box(name="Main Box")
db_session.add(box) db_session.add(box)