diff --git a/nextcloud_mcp_server/server/deck.py b/nextcloud_mcp_server/server/deck.py index 19942c4a..2638f099 100644 --- a/nextcloud_mcp_server/server/deck.py +++ b/nextcloud_mcp_server/server/deck.py @@ -242,7 +242,8 @@ def _append_archived_cards(stack: DeckStack, extra: list[DeckCard]) -> None: """Append archived cards onto a stack's existing card list, in place. Kept separate so the assignment stays correctly typed against - ``DeckStack.cards`` (``list[DeckCard | DeckCardSummary] | None``).""" + ``DeckStack.cards`` (``list[DeckCard | DeckCardSummary] | None``). + """ merged: list[DeckCard | DeckCardSummary] = list(stack.cards or []) merged.extend(extra) stack.cards = merged diff --git a/tests/server/test_deck_mcp.py b/tests/server/test_deck_mcp.py index 5800cbe5..30a2f337 100644 --- a/tests/server/test_deck_mcp.py +++ b/tests/server/test_deck_mcp.py @@ -505,7 +505,9 @@ async def test_deck_get_stack_status_includes_archived_mcp( payload = json.loads(result.content[0].text) return [c["id"] for c in (payload.get("cards") or [])] - assert archived_id not in await stack_card_ids("open") + open_ids = await stack_card_ids("open") + assert card_data["id"] in open_ids, "open card must stay visible under 'open'" + assert archived_id not in open_ids assert archived_id in await stack_card_ids("all") assert await stack_card_ids("archived") == [archived_id]