diff options
Diffstat (limited to 'tests/ss-crm-tests.el')
| -rw-r--r-- | tests/ss-crm-tests.el | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/tests/ss-crm-tests.el b/tests/ss-crm-tests.el deleted file mode 100644 index bc88ee4..0000000 --- a/tests/ss-crm-tests.el +++ /dev/null @@ -1,92 +0,0 @@ -;;; ss-crm-tests.el --- Tests for ss-crm -*- lexical-binding: t; -*- - -;;; Commentary: - -;; Focused ERT coverage for CRM lookup and prompt helpers. - -;;; Code: - -(add-to-list 'load-path (expand-file-name "../lisp" (file-name-directory load-file-name))) - -(require 'ert) -(require 'cl-lib) -(require 'ss-crm) - -(ert-deftest ss-crm-known-property-values-sorts-and-deduplicates () - (cl-letf (((symbol-function 'ss-crm-entries) - (lambda () - (list (list :role "Engineer") - (list :role " engineer ") - (list :role "Architect") - (list :role "") - (list :role nil))))) - (should (equal (ss-crm-known-property-values "ROLE") - '(" engineer " "Architect" "Engineer"))))) - -(ert-deftest ss-crm-known-person-names-returns-sorted-top-level-names () - (cl-letf (((symbol-function 'ss-crm-entries) - (lambda () - (list (list :name "Zoe") - (list :name "Alice") - (list :name "Bob"))))) - (should (equal (ss-crm-known-person-names) - '("Alice" "Bob" "Zoe"))))) - -(ert-deftest ss-crm-lookup-values-merges-seeded-and-derived-values () - (cl-letf (((symbol-function 'ss-crm-known-property-values) - (lambda (_property) - '("Team B" "Team A")))) - (should (equal (ss-crm-lookup-values "TEAM" '("Team A" "Team C")) - '("Team A" "Team B" "Team C"))))) - -(ert-deftest ss-crm-read-choice-returns-nil-for-none-selection () - (cl-letf (((symbol-function 'completing-read) - (lambda (&rest _args) - "[none]"))) - (should-not (ss-crm-read-choice "Role: " '("Engineer") - :allow-blank t - :allow-new t)))) - -(ert-deftest ss-crm-read-choice-warns-on-new-case-insensitive-duplicate () - (let (warning) - (cl-letf (((symbol-function 'completing-read) - (lambda (&rest _args) - "sydney")) - ((symbol-function 'yes-or-no-p) - (lambda (&rest _args) - t)) - ((symbol-function 'display-warning) - (lambda (_type message &rest _args) - (setq warning message)))) - (should (equal (ss-crm-read-choice "Location: " '("Sydney") - :allow-blank t - :allow-new t) - "sydney")) - (should (string-match-p "Sydney" warning))))) - -(ert-deftest ss-crm-read-choice-does-not-warn-for-existing-selection () - (let (warning) - (cl-letf (((symbol-function 'completing-read) - (lambda (&rest _args) - "Sydney")) - ((symbol-function 'display-warning) - (lambda (_type message &rest _args) - (setq warning message)))) - (should (equal (ss-crm-read-choice "Location: " '("Sydney" "sydney") - :allow-blank t - :allow-new t - :require-match t) - "Sydney")) - (should-not warning)))) - -(ert-deftest ss-crm-read-manager-uses-known-person-names () - (cl-letf (((symbol-function 'ss-crm-known-person-names) - (lambda () - '("Alice" "Bob"))) - ((symbol-function 'ss-crm-read-choice) - (lambda (_prompt choices &rest _plist) - choices))) - (should (equal (ss-crm-read-manager) - '("Alice" "Bob"))))) - -;;; ss-crm-tests.el ends here |
