aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnders Betts <anders.betts@gmail.com>2026-09-20 13:01:04 +0200
committerAnders Betts <anders.betts@gmail.com>2026-09-20 13:01:04 +0200
commit3023874e36914fbc89c3090b3a95221e78e82225 (patch)
tree68a7c102af99bd1bd7b9b33ce1a73e9375d27e0c
parentb5d8cbd03cfb312ec0c7d39edd62fe4039debf83 (diff)
tests: bank reconciliation pty scenario
-rwxr-xr-xscripts/tui-golden.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/tui-golden.py b/scripts/tui-golden.py
index 33f1d7c..e67f0d7 100755
--- a/scripts/tui-golden.py
+++ b/scripts/tui-golden.py
@@ -18,6 +18,7 @@
# and colour/attributes are ignored. That is enough for stable text asserts,
# not for pixel-exact comparison.
+import base64
import difflib
import fcntl
import json
@@ -114,6 +115,22 @@ SCENARIOS = [
},
],
},
+ {
+ "name": "bank",
+ "screen": "bank",
+ "expect": ["Bankavstämning", "GOLDEN INSÄTTNING", "CDON",
+ "förslag", "123,00"],
+ "steps": [
+ {
+ "keys": ["enter", "enter"],
+ "expect": ["Matchat."],
+ },
+ {
+ "keys": ["enter"],
+ "expect": ["→ A1", "1 omatchade"],
+ },
+ ],
+ },
]
# --------------------------------------------------------------------------
@@ -600,6 +617,23 @@ def setup_rig(repo, tmp, env):
json.dumps({"filename": "kvitto.txt",
"content_base64": "a3ZpdHRv",
"voucher_id": vid})], env)
+ from datetime import date, timedelta
+ start = date.fromisoformat(fy.get("start_date", "2026-01-01"))
+ golden_date = (start + timedelta(days=1)).isoformat()
+ csv = (
+ "Bokförd;Valutadatum;Text;Typ;Insättningar;Uttag;Bokfört saldo\n"
+ f"{golden_date};{golden_date};GOLDEN INSÄTTNING;Insättning;"
+ "123,00;;1000,00\n"
+ f"{start.isoformat()};{start.isoformat()};CDON /26-09-17;"
+ "Kortköp;;24,09;975,91\n"
+ )
+ run_checked([str(bind / "bokfctl"), "--socket", str(sock),
+ "--user", "admin", "--password", env["BOKFD_PASSWORD"],
+ "--org", str(org_id), "bank.import",
+ json.dumps({"format": "seb",
+ "account": "1930",
+ "content_base64": base64.b64encode(
+ csv.encode("utf-8")).decode()})], env)
return daemon, sock, org_id, fy