summaryrefslogtreecommitdiff
path: root/tests/ss-crm-tests.el
diff options
context:
space:
mode:
authorSzymon Szukalski <szymon@szymonszukalski.com>2026-04-10 17:59:11 +1000
committerSzymon Szukalski <szymon@szymonszukalski.com>2026-04-10 17:59:11 +1000
commit4b2d5710d6d4439281333a5be11fc7bcd9d3359e (patch)
treea995a1372d67828edea0d6225a694c3868714ae5 /tests/ss-crm-tests.el
parent63797ae271dabdeb2e3bd54e103066e7c9ea4b3c (diff)
blank slate
Diffstat (limited to 'tests/ss-crm-tests.el')
-rw-r--r--tests/ss-crm-tests.el92
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