test_quote_approver_setting.py 1015 B

1234567891011121314151617181920212223242526
  1. from app.crud.crm.quote_approver_setting import (
  2. join_approver_ids,
  3. parse_approver_ids,
  4. prefill_approver_ids,
  5. )
  6. def test_parse_and_join_roundtrip():
  7. assert parse_approver_ids("a,b,c") == ["a", "b", "c"]
  8. assert parse_approver_ids(" a,, b ") == ["a", "b"]
  9. assert parse_approver_ids("") == []
  10. assert parse_approver_ids(None) == []
  11. assert join_approver_ids(["a", "b", ""]) == "a,b"
  12. def test_prefill_requires_enabled_and_nonempty():
  13. assert prefill_approver_ids(None) == []
  14. assert prefill_approver_ids({"status": "1", "approverIds": ["u1"]}) == []
  15. assert prefill_approver_ids({"status": "0", "approverIds": []}) == []
  16. assert prefill_approver_ids({"status": "0", "approverIds": ["u1", "u2"]}) == ["u1", "u2"]
  17. def test_prefill_filters_against_valid_ids():
  18. setting = {"status": "0", "approverIds": ["u1", "gone", "u2"]}
  19. assert prefill_approver_ids(setting, valid_ids={"u1", "u2"}) == ["u1", "u2"]
  20. assert prefill_approver_ids(setting, valid_ids=set()) == []