diff options
Diffstat (limited to 'tests/test-pearl-filter.el')
| -rw-r--r-- | tests/test-pearl-filter.el | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/test-pearl-filter.el b/tests/test-pearl-filter.el index 6143311..38d254e 100644 --- a/tests/test-pearl-filter.el +++ b/tests/test-pearl-filter.el @@ -189,5 +189,29 @@ "A non-string entry in :labels is a user-error." (should-error (pearl--validate-issue-filter '(:labels ("bug" 7))) :type 'user-error)) +;;; id-based forms (rename-proof; used by favorite-derived filter sources) + +(ert-deftest test-pearl-filter-assignee-id () + ":assignee-id compiles to assignee.id.eq -- rename-proof, used by user favorites." + (should (equal (pearl--build-issue-filter '(:assignee-id "u-1")) + '(("assignee" ("id" ("eq" . "u-1"))))))) + +(ert-deftest test-pearl-filter-label-id () + ":label-id compiles to labels.some.id.in [id] -- rename-proof, used by label favorites." + (should (equal (pearl--build-issue-filter '(:label-id "lbl-1")) + '(("labels" ("some" ("id" ("in" . ["lbl-1"])))))))) + +(ert-deftest test-pearl-filter-validate-rejects-empty-assignee-id () + "An empty :assignee-id is a user-error." + (should-error (pearl--validate-issue-filter '(:assignee-id "")) :type 'user-error)) + +(ert-deftest test-pearl-filter-validate-rejects-empty-label-id () + "An empty :label-id is a user-error." + (should-error (pearl--validate-issue-filter '(:label-id "")) :type 'user-error)) + +(ert-deftest test-pearl-filter-validate-rejects-unknown-id-key () + "An unknown key is still rejected (sanity that :label-id/:assignee-id were registered)." + (should-error (pearl--validate-issue-filter '(:not-a-key "x")) :type 'user-error)) + (provide 'test-pearl-filter) ;;; test-pearl-filter.el ends here |
