|
@@ -0,0 +1,26 @@
|
|
|
|
|
+from app.crud.crm.quote_approver_setting import (
|
|
|
|
|
+ join_approver_ids,
|
|
|
|
|
+ parse_approver_ids,
|
|
|
|
|
+ prefill_approver_ids,
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+def test_parse_and_join_roundtrip():
|
|
|
|
|
+ assert parse_approver_ids("a,b,c") == ["a", "b", "c"]
|
|
|
|
|
+ assert parse_approver_ids(" a,, b ") == ["a", "b"]
|
|
|
|
|
+ assert parse_approver_ids("") == []
|
|
|
|
|
+ assert parse_approver_ids(None) == []
|
|
|
|
|
+ assert join_approver_ids(["a", "b", ""]) == "a,b"
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+def test_prefill_requires_enabled_and_nonempty():
|
|
|
|
|
+ assert prefill_approver_ids(None) == []
|
|
|
|
|
+ assert prefill_approver_ids({"status": "1", "approverIds": ["u1"]}) == []
|
|
|
|
|
+ assert prefill_approver_ids({"status": "0", "approverIds": []}) == []
|
|
|
|
|
+ assert prefill_approver_ids({"status": "0", "approverIds": ["u1", "u2"]}) == ["u1", "u2"]
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+def test_prefill_filters_against_valid_ids():
|
|
|
|
|
+ setting = {"status": "0", "approverIds": ["u1", "gone", "u2"]}
|
|
|
|
|
+ assert prefill_approver_ids(setting, valid_ids={"u1", "u2"}) == ["u1", "u2"]
|
|
|
|
|
+ assert prefill_approver_ids(setting, valid_ids=set()) == []
|