aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test-integration-acceptance.el10
-rw-r--r--tests/test-pearl-assignee-labels.el121
-rw-r--r--tests/test-pearl-bugfixes.el25
-rw-r--r--tests/test-pearl-compose.el6
-rw-r--r--tests/test-pearl-fields.el73
-rw-r--r--tests/test-pearl-keymap.el19
-rw-r--r--tests/test-pearl-menu.el2
-rw-r--r--tests/test-pearl-output.el2
8 files changed, 79 insertions, 179 deletions
diff --git a/tests/test-integration-acceptance.el b/tests/test-integration-acceptance.el
index f83c891..de5f0e7 100644
--- a/tests/test-integration-acceptance.el
+++ b/tests/test-integration-acceptance.el
@@ -37,7 +37,7 @@
;; - pearl-refresh-current-view -> --merge-query-result (in-place merge)
;; - pearl-sync-current-issue -> --sync-decision -> --update-issue-description-async
;; - pearl-add-comment -> --create-comment-async -> --append-comment-to-issue
-;; - pearl-set-priority -> --push-issue-field -> --update-issue-async
+;; - edit the priority cookie + pearl-save-issue -> --save-priority-field -> --update-issue-async
;;; Code:
@@ -77,6 +77,7 @@ because the description-update mutation contains both `IssueDescription' and
(pageInfo (hasNextPage . :json-false)
(endCursor . "c"))))))
('fetch-desc '((data (issue (description . "Original body.")
+ (priority . 2)
(updatedAt . "2026-05-24T00:00:00.000Z")))))
('comment-create '((data (commentCreate
(success . t)
@@ -189,11 +190,14 @@ because the description-update mutation contains both `IssueDescription' and
(goto-char (point-min))
(should (re-search-forward "^\\*\\*\\* Comments$" nil t))
(should (re-search-forward "looks good" nil t))
- ;; --- set priority from inside the subtree ---
+ ;; --- edit the priority cookie, then save (reconcile-on-save) ---
(goto-char (point-min))
(re-search-forward "First issue")
+ (org-back-to-heading t)
+ (let ((org-priority-highest ?A) (org-priority-lowest ?D))
+ (org-priority ?A)) ; [#B] (2) -> [#A] (1)
(setq test-integration--ops nil)
- (pearl-set-priority "Urgent")
+ (pearl-save-issue)
(should (memq 'issue-update test-integration--ops)))))
(provide 'test-integration-acceptance)
diff --git a/tests/test-pearl-assignee-labels.el b/tests/test-pearl-assignee-labels.el
index 7a4a352..e7be619 100644
--- a/tests/test-pearl-assignee-labels.el
+++ b/tests/test-pearl-assignee-labels.el
@@ -19,10 +19,11 @@
;;; Commentary:
-;; Tests for the two drawer-field commands that resolve names to ids:
-;; `pearl-set-assignee' and `pearl-set-labels'. They push via
-;; the generic `--update-issue-async' and update the LINEAR-ASSIGNEE / LABELS
-;; drawer. The resolver and the mutation are stubbed.
+;; Tests for the two picker commands that resolve names to ids:
+;; `pearl-edit-assignee' and `pearl-edit-labels'. As save-model-v2
+;; buffer-editors they write the LINEAR-ASSIGNEE / LABELS drawer (and the live
+;; id sets) but do NOT push -- the change reconciles at the next save (the push
+;; path is covered in test-pearl-save). The resolver is stubbed.
;;; Code:
@@ -38,57 +39,38 @@
(goto-char (point-min))
,@body))
-;;; set-assignee
+;;; edit-assignee (buffer-editor: writes the drawer, no push)
-(ert-deftest test-pearl-set-assignee-pushes-id-and-updates-drawer ()
- "Setting an assignee resolves the name, pushes the id, and updates the drawer."
+(ert-deftest test-pearl-edit-assignee-writes-drawer-no-push ()
+ "edit-assignee resolves the name, writes the drawer, and does not push."
(let ((pushed nil))
(test-pearl--in-org
"*** TODO Title\n:PROPERTIES:\n:LINEAR-ID: a\n:LINEAR-TEAM-ID: team-1\n:LINEAR-ASSIGNEE-ID: old\n:LINEAR-ASSIGNEE-NAME: Someone\n:END:\n"
(cl-letf (((symbol-function 'pearl--resolve-team-id)
(lambda (_kind _name _team &optional _force) "u9"))
((symbol-function 'pearl--update-issue-async)
- (lambda (_id input cb) (setq pushed input) (funcall cb '(:success t)))))
- (pearl-set-assignee "Craig")
- (should (string= "u9" (cdr (assoc "assigneeId" pushed))))
+ (lambda (&rest _) (setq pushed t))))
+ (pearl-edit-assignee "Craig")
+ (should-not pushed)
(should (string= "Craig" (org-entry-get nil "LINEAR-ASSIGNEE-NAME")))
(should (string= "u9" (org-entry-get nil "LINEAR-ASSIGNEE-ID")))))))
-(ert-deftest test-pearl-set-assignee-unresolvable-errors ()
- "An unresolvable assignee name signals a user error and pushes nothing."
- (let ((pushed nil))
- (test-pearl--in-org
- "*** TODO Title\n:PROPERTIES:\n:LINEAR-ID: a\n:LINEAR-TEAM-ID: team-1\n:END:\n"
- (cl-letf (((symbol-function 'pearl--resolve-team-id)
- (lambda (&rest _) nil))
- ((symbol-function 'pearl--update-issue-async)
- (lambda (&rest _) (setq pushed t))))
- (should-error (pearl-set-assignee "Nobody") :type 'user-error)
- (should-not pushed)))))
+(ert-deftest test-pearl-edit-assignee-unresolvable-errors ()
+ "An unresolvable assignee name signals a user error and writes nothing."
+ (test-pearl--in-org
+ "*** TODO Title\n:PROPERTIES:\n:LINEAR-ID: a\n:LINEAR-TEAM-ID: team-1\n:END:\n"
+ (cl-letf (((symbol-function 'pearl--resolve-team-id) (lambda (&rest _) nil)))
+ (should-error (pearl-edit-assignee "Nobody") :type 'user-error))))
-(ert-deftest test-pearl-set-assignee-not-on-issue-errors ()
- "Setting an assignee outside a Linear issue heading signals a user error."
+(ert-deftest test-pearl-edit-assignee-not-on-issue-errors ()
+ "edit-assignee outside a Linear issue heading signals a user error."
(test-pearl--in-org "* Plain heading\nno id\n"
- (should-error (pearl-set-assignee "Craig") :type 'user-error)))
-
-(ert-deftest test-pearl-set-assignee-failure-preserves-drawer ()
- "A failed assignee push attempts the mutation but leaves the drawer unchanged."
- (let (pushed)
- (test-pearl--in-org
- "*** TODO Title\n:PROPERTIES:\n:LINEAR-ID: a\n:LINEAR-TEAM-ID: team-1\n:LINEAR-ASSIGNEE-ID: old\n:LINEAR-ASSIGNEE-NAME: Someone\n:END:\n"
- (cl-letf (((symbol-function 'pearl--resolve-team-id)
- (lambda (_kind _name _team &optional _force) "u9"))
- ((symbol-function 'pearl--update-issue-async)
- (lambda (_id input cb) (setq pushed input) (funcall cb '(:success nil)))))
- (pearl-set-assignee "Craig")
- (should (string= "u9" (cdr (assoc "assigneeId" pushed))))
- (should (string= "Someone" (org-entry-get nil "LINEAR-ASSIGNEE-NAME")))
- (should (string= "old" (org-entry-get nil "LINEAR-ASSIGNEE-ID")))))))
+ (should-error (pearl-edit-assignee "Craig") :type 'user-error)))
-;;; set-labels
+;;; edit-labels (buffer-editor: writes the drawer + live ids, no push)
-(ert-deftest test-pearl-set-labels-pushes-ids-and-updates-drawer ()
- "Setting labels resolves each name, pushes the id list, and updates the drawer."
+(ert-deftest test-pearl-edit-labels-writes-names-and-ids-no-push ()
+ "edit-labels resolves each name, writes LINEAR-LABELS + LINEAR-LABEL-IDS, no push."
(let ((pushed nil))
(test-pearl--in-org
"*** TODO Title\n:PROPERTIES:\n:LINEAR-ID: a\n:LINEAR-TEAM-ID: team-1\n:LINEAR-LABELS: []\n:END:\n"
@@ -96,47 +78,30 @@
(lambda (_kind name _team &optional _force)
(pcase name ("bug" "l1") ("p1" "l2") (_ nil))))
((symbol-function 'pearl--update-issue-async)
- (lambda (_id input cb) (setq pushed input) (funcall cb '(:success t)))))
- (pearl-set-labels '("bug" "p1"))
- (should (equal '("l1" "l2") (cdr (assoc "labelIds" pushed))))
- (should (string= "[bug, p1]" (org-entry-get nil "LINEAR-LABELS")))))))
-
-(ert-deftest test-pearl-set-labels-clear-pushes-empty ()
- "Clearing labels (empty list) pushes an empty id list and empties the drawer."
- (let ((pushed 'unset))
- (test-pearl--in-org
- "*** TODO Title\n:PROPERTIES:\n:LINEAR-ID: a\n:LINEAR-TEAM-ID: team-1\n:LINEAR-LABELS: [bug]\n:END:\n"
- (cl-letf (((symbol-function 'pearl--update-issue-async)
- (lambda (_id input cb) (setq pushed input) (funcall cb '(:success t)))))
- (pearl-set-labels '())
- (should (equal '() (cdr (assoc "labelIds" pushed))))
- (should (string= "[]" (org-entry-get nil "LINEAR-LABELS")))))))
+ (lambda (&rest _) (setq pushed t))))
+ (pearl-edit-labels '("bug" "p1"))
+ (should-not pushed)
+ (should (string= "[bug, p1]" (org-entry-get nil "LINEAR-LABELS")))
+ (should (string= "l1 l2" (org-entry-get nil "LINEAR-LABEL-IDS")))))))
-(ert-deftest test-pearl-set-labels-unresolvable-errors ()
- "An unresolvable label name signals a user error and pushes nothing."
+(ert-deftest test-pearl-edit-labels-clear-writes-empty ()
+ "Clearing labels writes an empty drawer and empty id set, no push."
(let ((pushed nil))
(test-pearl--in-org
- "*** TODO Title\n:PROPERTIES:\n:LINEAR-ID: a\n:LINEAR-TEAM-ID: team-1\n:END:\n"
- (cl-letf (((symbol-function 'pearl--resolve-team-id)
- (lambda (&rest _) nil))
- ((symbol-function 'pearl--update-issue-async)
+ "*** TODO Title\n:PROPERTIES:\n:LINEAR-ID: a\n:LINEAR-TEAM-ID: team-1\n:LINEAR-LABELS: [bug]\n:LINEAR-LABEL-IDS: l1\n:END:\n"
+ (cl-letf (((symbol-function 'pearl--update-issue-async)
(lambda (&rest _) (setq pushed t))))
- (should-error (pearl-set-labels '("ghost")) :type 'user-error)
- (should-not pushed)))))
-
-(ert-deftest test-pearl-set-labels-failure-preserves-drawer ()
- "A failed labels push attempts the mutation but leaves the labels drawer unchanged."
- (let (pushed)
- (test-pearl--in-org
- "*** TODO Title\n:PROPERTIES:\n:LINEAR-ID: a\n:LINEAR-TEAM-ID: team-1\n:LINEAR-LABELS: [bug]\n:END:\n"
- (cl-letf (((symbol-function 'pearl--resolve-team-id)
- (lambda (_kind name _team &optional _force)
- (pcase name ("p1" "l2") (_ nil))))
- ((symbol-function 'pearl--update-issue-async)
- (lambda (_id input cb) (setq pushed input) (funcall cb '(:success nil)))))
- (pearl-set-labels '("p1"))
- (should (equal '("l2") (cdr (assoc "labelIds" pushed))))
- (should (string= "[bug]" (org-entry-get nil "LINEAR-LABELS")))))))
+ (pearl-edit-labels '())
+ (should-not pushed)
+ (should (string= "[]" (org-entry-get nil "LINEAR-LABELS")))
+ (should (string= "" (org-entry-get nil "LINEAR-LABEL-IDS")))))))
+
+(ert-deftest test-pearl-edit-labels-unresolvable-errors ()
+ "An unresolvable label name signals a user error and writes nothing."
+ (test-pearl--in-org
+ "*** TODO Title\n:PROPERTIES:\n:LINEAR-ID: a\n:LINEAR-TEAM-ID: team-1\n:END:\n"
+ (cl-letf (((symbol-function 'pearl--resolve-team-id) (lambda (&rest _) nil)))
+ (should-error (pearl-edit-labels '("ghost")) :type 'user-error))))
(provide 'test-pearl-assignee-labels)
;;; test-pearl-assignee-labels.el ends here
diff --git a/tests/test-pearl-bugfixes.el b/tests/test-pearl-bugfixes.el
index caab884..7f5c635 100644
--- a/tests/test-pearl-bugfixes.el
+++ b/tests/test-pearl-bugfixes.el
@@ -151,30 +151,5 @@
(should-error (pearl-run-saved-query "bad") :type 'user-error)
(should-not fetched))))
-;;; Bug: async issue callbacks must be harmless if the buffer is killed
-
-(ert-deftest test-pearl-push-issue-field-killed-buffer-no-signal ()
- "A field push whose buffer is killed before the success callback does not signal."
- (let ((buf (generate-new-buffer "pearl-pif-kill")))
- (unwind-protect
- (let (marker)
- (with-current-buffer buf
- (insert "* h\n:PROPERTIES:\n:LINEAR-ID: a\n:END:\nbody\n")
- (org-mode)
- (goto-char (point-min))
- (setq marker (point-marker)))
- ;; The update stub kills the buffer, then reports success; the success
- ;; callback must not run its buffer ops (or signal) on a dead buffer.
- (cl-letf (((symbol-function 'pearl--update-issue-async)
- (lambda (_id _fields cb) (kill-buffer buf) (funcall cb '(:success t)))))
- ;; Must complete without signaling; the on-success thunk (which would
- ;; error) must not run because the buffer is dead.
- (pearl--push-issue-field
- "a" marker '(("priority" . 2))
- (lambda () (error "on-success must not run against a dead buffer"))
- "ok" "fail")
- (should-not (buffer-live-p buf))))
- (when (buffer-live-p buf) (kill-buffer buf)))))
-
(provide 'test-pearl-bugfixes)
;;; test-pearl-bugfixes.el ends here
diff --git a/tests/test-pearl-compose.el b/tests/test-pearl-compose.el
index bda75cb..a96a9ca 100644
--- a/tests/test-pearl-compose.el
+++ b/tests/test-pearl-compose.el
@@ -22,7 +22,7 @@
;; Tests for the shared compose buffer (`pearl--compose-in-buffer' and its
;; submit/abort/body helpers) and the two commands wired onto it:
;; `pearl-add-comment' (interactive composer path) and
-;; `pearl-compose-current-description'. The body is extracted below a read-only
+;; `pearl-edit-description'. The body is extracted below a read-only
;; header and converted Org->Markdown by the callers.
;;; Code:
@@ -129,7 +129,7 @@ Binds `captured' to the value the on-finish receives (or `:none'). Stubs
(should-not composed)
(should (string= "literal body" sent))))))
-;;; compose-current-description wiring
+;;; edit-description wiring
(ert-deftest test-pearl-compose-description-seeds-body-and-syncs ()
"The description composer seeds the current body and, on submit, writes it back and syncs."
@@ -141,7 +141,7 @@ Binds `captured' to the value the on-finish receives (or `:none'). Stubs
(funcall on-finish "Edited description")))
((symbol-function 'pearl-sync-current-issue)
(lambda () (setq synced t))))
- (pearl-compose-current-description)
+ (pearl-edit-description)
;; seeded with the existing body
(should (string= "Body." seeded))
;; the edited text was written into the issue body, then synced
diff --git a/tests/test-pearl-fields.el b/tests/test-pearl-fields.el
index 3722486..2ad9679 100644
--- a/tests/test-pearl-fields.el
+++ b/tests/test-pearl-fields.el
@@ -86,38 +86,9 @@
(should (string-match-p "^\\*\\*\\* TODO Title" (thing-at-point 'line t)))
(should-not (string-match-p "\\[#" (thing-at-point 'line t)))))
-;;; pearl-set-priority
-
-(ert-deftest test-pearl-set-priority-pushes-and-updates-cookie ()
- "Setting priority pushes the numeric value and rewrites the cookie."
- (let ((pushed nil))
- (test-pearl--in-org "*** TODO [#C] Title\n:PROPERTIES:\n:LINEAR-ID: a\n:END:\n"
- (cl-letf (((symbol-function 'pearl--update-issue-async)
- (lambda (_id input cb) (setq pushed input) (funcall cb '(:success t)))))
- (re-search-forward "Title")
- (pearl-set-priority "High")
- (should (equal 2 (cdr (assoc "priority" pushed))))
- (goto-char (point-min))
- (should (string-match-p "\\[#B\\]" (thing-at-point 'line t)))))))
-
-(ert-deftest test-pearl-set-priority-not-on-issue-errors ()
- "Setting priority outside a Linear issue heading signals a user error."
- (test-pearl--in-org "* Plain heading\nno id\n"
- (should-error (pearl-set-priority "High") :type 'user-error)))
-
-(ert-deftest test-pearl-set-priority-failure-preserves-cookie ()
- "A failed priority push attempts the mutation but leaves the cookie unchanged."
- (let (pushed)
- (test-pearl--in-org "*** TODO [#C] Title\n:PROPERTIES:\n:LINEAR-ID: a\n:END:\n"
- (cl-letf (((symbol-function 'pearl--update-issue-async)
- (lambda (_id input cb) (setq pushed input) (funcall cb '(:success nil)))))
- (re-search-forward "Title")
- (pearl-set-priority "High")
- ;; the push was attempted with the intended value ...
- (should (equal 2 (cdr (assoc "priority" pushed))))
- ;; ... but the local cookie is still #C, not #B.
- (goto-char (point-min))
- (should (string-match-p "^\\*\\*\\* TODO \\[#C\\] Title" (thing-at-point 'line t)))))))
+;; pearl-set-priority is gone: priority is edited org-natively via the heading
+;; cookie and reconciled at save (see test-pearl-save). The cookie writer
+;; `pearl--set-priority-cookie' above is still exercised.
;;; --set-heading-state
@@ -140,10 +111,10 @@
(pearl--set-heading-state "Done" "s3")
(should-not fired)))))
-;;; pearl-set-state
+;;; pearl-edit-state (buffer-editor: writes the representation, no push)
-(ert-deftest test-pearl-set-state-pushes-id-and-updates-heading ()
- "Setting state resolves the name to an id, pushes it, and updates the heading."
+(ert-deftest test-pearl-edit-state-writes-heading-no-push ()
+ "edit-state resolves the name, writes keyword/name/id, and does not push."
(let ((pushed nil))
(test-pearl--in-org
"*** TODO [#B] Title\n:PROPERTIES:\n:LINEAR-ID: a\n:LINEAR-TEAM-ID: team-1\n:END:\n"
@@ -151,34 +122,18 @@
(lambda (_team) '(((id . "s1") (name . "Todo"))
((id . "s2") (name . "In Progress")))))
((symbol-function 'pearl--update-issue-async)
- (lambda (_id input cb) (setq pushed input) (funcall cb '(:success t)))))
- (pearl-set-state "In Progress")
- (should (string= "s2" (cdr (assoc "stateId" pushed))))
+ (lambda (&rest _) (setq pushed t))))
+ (pearl-edit-state "In Progress")
+ (should-not pushed)
(goto-char (point-min))
(should (string-match-p "^\\*\\*\\* IN-PROGRESS " (thing-at-point 'line t)))
- (should (string= "In Progress" (org-entry-get nil "LINEAR-STATE-NAME")))))))
+ (should (string= "In Progress" (org-entry-get nil "LINEAR-STATE-NAME")))
+ (should (string= "s2" (org-entry-get nil "LINEAR-STATE-ID")))))))
-(ert-deftest test-pearl-set-state-not-on-issue-errors ()
- "Setting state outside a Linear issue heading signals a user error."
+(ert-deftest test-pearl-edit-state-not-on-issue-errors ()
+ "edit-state outside a Linear issue heading signals a user error."
(test-pearl--in-org "* Plain heading\nno id\n"
- (should-error (pearl-set-state "Done") :type 'user-error)))
-
-(ert-deftest test-pearl-set-state-failure-preserves-keyword-and-drawer ()
- "A failed state push attempts the mutation but leaves the keyword and drawer unchanged."
- (let (pushed)
- (test-pearl--in-org
- "*** TODO [#B] Title\n:PROPERTIES:\n:LINEAR-ID: a\n:LINEAR-TEAM-ID: team-1\n:LINEAR-STATE-ID: s1\n:LINEAR-STATE-NAME: Todo\n:END:\n"
- (cl-letf (((symbol-function 'pearl--team-states)
- (lambda (_t) '(((id . "s1") (name . "Todo"))
- ((id . "s2") (name . "In Progress")))))
- ((symbol-function 'pearl--update-issue-async)
- (lambda (_id input cb) (setq pushed input) (funcall cb '(:success nil)))))
- (pearl-set-state "In Progress")
- (should (string= "s2" (cdr (assoc "stateId" pushed))))
- (goto-char (point-min))
- (should (string-match-p "^\\*\\*\\* TODO " (thing-at-point 'line t)))
- (should (string= "Todo" (org-entry-get nil "LINEAR-STATE-NAME")))
- (should (string= "s1" (org-entry-get nil "LINEAR-STATE-ID")))))))
+ (should-error (pearl-edit-state "Done") :type 'user-error)))
(provide 'test-pearl-fields)
;;; test-pearl-fields.el ends here
diff --git a/tests/test-pearl-keymap.el b/tests/test-pearl-keymap.el
index 260b6fa..7cfc603 100644
--- a/tests/test-pearl-keymap.el
+++ b/tests/test-pearl-keymap.el
@@ -45,15 +45,16 @@ Walks MAP looking for a labeled binding (\"label\" . COMMAND)."
(should (keymapp pearl-prefix-map)))
(ert-deftest test-pearl-prefix-map-resolves-leaf-commands ()
- "Each chord resolves to its command (existing names, not yet renamed)."
+ "Each chord resolves to its command."
(should (eq 'pearl-save-issue (lookup-key pearl-prefix-map (kbd "s s"))))
(should (eq 'pearl-save-all (lookup-key pearl-prefix-map (kbd "s a"))))
- (should (eq 'pearl-compose-current-description (lookup-key pearl-prefix-map (kbd "e d"))))
+ (should (eq 'pearl-edit-description (lookup-key pearl-prefix-map (kbd "e d"))))
(should (eq 'pearl-edit-current-comment (lookup-key pearl-prefix-map (kbd "e c"))))
- (should (eq 'pearl-set-priority (lookup-key pearl-prefix-map (kbd "e p"))))
- (should (eq 'pearl-set-state (lookup-key pearl-prefix-map (kbd "e s"))))
- (should (eq 'pearl-set-assignee (lookup-key pearl-prefix-map (kbd "e a"))))
- (should (eq 'pearl-set-labels (lookup-key pearl-prefix-map (kbd "e l"))))
+ (should (eq 'pearl-edit-state (lookup-key pearl-prefix-map (kbd "e s"))))
+ (should (eq 'pearl-edit-assignee (lookup-key pearl-prefix-map (kbd "e a"))))
+ (should (eq 'pearl-edit-labels (lookup-key pearl-prefix-map (kbd "e l"))))
+ ;; priority has no edit command (org-native cookie); e p is unbound
+ (should-not (lookup-key pearl-prefix-map (kbd "e p")))
(should (eq 'pearl-new-issue (lookup-key pearl-prefix-map (kbd "n t"))))
(should (eq 'pearl-add-comment (lookup-key pearl-prefix-map (kbd "n c"))))
(should (eq 'pearl-delete-current-issue (lookup-key pearl-prefix-map (kbd "d t"))))
@@ -77,10 +78,10 @@ Walks MAP looking for a labeled binding (\"label\" . COMMAND)."
(ert-deftest test-pearl-prefix-map-which-key-labels ()
"Leaf bindings carry the edit/new verb labels; sub-prefixes carry +labels."
- (should (string= "edit priority"
- (test-pearl-keymap--label-of pearl-edit-map 'pearl-set-priority)))
+ (should (string= "edit state"
+ (test-pearl-keymap--label-of pearl-edit-map 'pearl-edit-state)))
(should (string= "edit description"
- (test-pearl-keymap--label-of pearl-edit-map 'pearl-compose-current-description)))
+ (test-pearl-keymap--label-of pearl-edit-map 'pearl-edit-description)))
(should (string= "new ticket"
(test-pearl-keymap--label-of pearl-new-map 'pearl-new-issue)))
(should (string= "new comment"
diff --git a/tests/test-pearl-menu.el b/tests/test-pearl-menu.el
index 8af4bb8..5964d31 100644
--- a/tests/test-pearl-menu.el
+++ b/tests/test-pearl-menu.el
@@ -64,7 +64,7 @@ menu entry that still points at it fails here."
pearl-run-saved-query
pearl-save-issue
pearl-save-all
- pearl-set-state
+ pearl-edit-state
pearl-add-comment
pearl-new-issue
pearl-delete-current-issue))
diff --git a/tests/test-pearl-output.el b/tests/test-pearl-output.el
index 6eafbb4..eb5c671 100644
--- a/tests/test-pearl-output.el
+++ b/tests/test-pearl-output.el
@@ -52,7 +52,7 @@
(should (string-match-p "^#\\+LINEAR-SOURCE: " out))
(should (string-match-p "^#\\+LINEAR-COUNT: 0$" out))
;; affordance preamble is present as org comments, not content
- (should (string-match-p "^# .*pearl-sync-current-issue" out))))
+ (should (string-match-p "^# .*pearl-save-issue" out))))
(ert-deftest test-pearl-build-org-content-source-roundtrips ()
"The serialized source in the header reads back to the original plist."