diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test-pearl-format.el | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/test-pearl-format.el b/tests/test-pearl-format.el index 1e9fa53..a642b53 100644 --- a/tests/test-pearl-format.el +++ b/tests/test-pearl-format.el @@ -68,6 +68,31 @@ (should (string-match-p "^:LINEAR-TITLE-SHA256: +[0-9a-f]\\{64\\}$" out)) (should (string-match-p "^:END:$" out))))) +;;; synced baselines for structured fields (save-model v2) + +(ert-deftest test-pearl-format-issue-writes-synced-baselines () + "The renderer writes a synced baseline per structured field, equal to its live value at fetch." + (test-pearl--with-default-mapping + (let ((out (pearl--format-issue-as-org-entry (test-pearl--norm-full)))) + ;; priority: numeric baseline beside the cookie + (should (string-match-p "^:LINEAR-PRIORITY: +2$" out)) + ;; state: live id and synced baseline both present and equal + (should (string-match-p "^:LINEAR-STATE-ID: +state-1$" out)) + (should (string-match-p "^:LINEAR-STATE-ID-SYNCED: +state-1$" out)) + ;; assignee: live id and synced baseline equal + (should (string-match-p "^:LINEAR-ASSIGNEE-ID: +user-1$" out)) + (should (string-match-p "^:LINEAR-ASSIGNEE-ID-SYNCED: +user-1$" out)) + ;; labels: live id set and synced baseline equal, in fetched order + (should (string-match-p "^:LINEAR-LABEL-IDS: +lbl-1 lbl-2$" out)) + (should (string-match-p "^:LINEAR-LABEL-IDS-SYNCED: +lbl-1 lbl-2$" out))))) + +(ert-deftest test-pearl-format-issue-bare-empty-baselines () + "Null/missing structured fields render empty id baselines without error." + (test-pearl--with-default-mapping + (let ((out (pearl--format-issue-as-org-entry (test-pearl--norm-bare)))) + (should (string-match-p "^:LINEAR-LABEL-IDS: +$" out)) + (should (string-match-p "^:LINEAR-LABEL-IDS-SYNCED: +$" out))))) + (ert-deftest test-pearl-format-issue-description-in-body-not-property () "The description renders as body text, not a :DESCRIPTION: property." (test-pearl--with-default-mapping |
