fix: Verknuepfte Buchungen brauchen keine Kategorie mehr
Eine verknuepfte Buchung gehoert zu einem Uebertrag und zaehlt in keiner Auswertung. Trotzdem stand sie unter "Zu erledigen" und wurde in der Buchungsliste nach einer Kategorie gefragt – Arbeit, die nichts bewirkt, und ein falsches Signal: Sie sah aus, als fehle noch etwas. Der Filter fuer offene Buchungen laesst verknuepfte jetzt aus, und in der Buchungsliste steht bei ihnen ein Strich statt der Auswahl – so wie bei einem echten Uebertrag. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -46,3 +46,35 @@ def test_offene_buchungen_lassen_uebertraege_aus(admin):
|
||||
offen = admin.get("/api/transactions", params={"uncategorized": "true",
|
||||
"account_id": a["id"]}).json()
|
||||
assert offen == []
|
||||
|
||||
|
||||
def test_verknuepfte_buchungen_sind_nicht_mehr_offen(admin):
|
||||
"""Sie gehoeren zu einem Uebertrag und zaehlen in keiner Auswertung. Nach
|
||||
einer Kategorie zu fragen, verlangt Arbeit, die nichts bewirkt."""
|
||||
import secrets
|
||||
|
||||
a = admin.post("/api/accounts", json={
|
||||
"name": f"Offen-A {secrets.token_hex(3)}", "type": "girokonto",
|
||||
"currency": "CHF", "opening_balance_cents": 0}).json()
|
||||
b = admin.post("/api/accounts", json={
|
||||
"name": f"Offen-B {secrets.token_hex(3)}", "type": "girokonto",
|
||||
"currency": "CHF", "opening_balance_cents": 0}).json()
|
||||
betrag = 20000 + secrets.randbelow(900)
|
||||
raus = admin.post("/api/transactions", json={
|
||||
"type": "expense", "date": "2026-08-21", "account_id": a["id"],
|
||||
"amount_cents": betrag, "payee": "Umbuchung"}).json()
|
||||
rein = admin.post("/api/transactions", json={
|
||||
"type": "income", "date": "2026-08-21", "account_id": b["id"],
|
||||
"amount_cents": betrag, "payee": "Umbuchung"}).json()
|
||||
|
||||
offen = {t["id"] for t in admin.get("/api/transactions",
|
||||
params={"uncategorized": True}).json()}
|
||||
assert raus["id"] in offen and rein["id"] in offen, "vorher beide offen"
|
||||
|
||||
assert admin.post("/api/uebertraege/verbinden",
|
||||
json={"a_id": raus["id"], "b_id": rein["id"]}).status_code == 200
|
||||
|
||||
danach = {t["id"] for t in admin.get("/api/transactions",
|
||||
params={"uncategorized": True}).json()}
|
||||
assert raus["id"] not in danach and rein["id"] not in danach, \
|
||||
"verknuepfte Buchungen brauchen keine Kategorie mehr"
|
||||
|
||||
Reference in New Issue
Block a user