diff options
| author | Szymon Szukalski <szymon@szymonszukalski.com> | 2026-04-09 11:22:48 +1000 |
|---|---|---|
| committer | Szymon Szukalski <szymon@szymonszukalski.com> | 2026-04-09 11:22:48 +1000 |
| commit | 08d06ed00c9d6e98f0f8a02d243a2eb36ee4bff1 (patch) | |
| tree | dad98d4ac64219e047223c82564d93c00ddf0501 /tests/ss-capture-tests.el | |
| parent | bc75732b9d37b77945a977ee9f7892cf6efc79c3 (diff) | |
Improve CRM and journal workflows
Diffstat (limited to 'tests/ss-capture-tests.el')
| -rw-r--r-- | tests/ss-capture-tests.el | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/ss-capture-tests.el b/tests/ss-capture-tests.el new file mode 100644 index 0000000..4ea4ff6 --- /dev/null +++ b/tests/ss-capture-tests.el @@ -0,0 +1,75 @@ +;;; ss-capture-tests.el --- Tests for ss-capture -*- lexical-binding: t; -*- + +;;; Commentary: + +;; Focused ERT coverage for journal capture structure helpers. + +;;; Code: + +(add-to-list 'load-path (expand-file-name "../lisp" (file-name-directory load-file-name))) + +(require 'cl-lib) +(require 'ert) +(require 'ss-capture) +(require 'ss-org) + +(ert-deftest ss-journal-ensure-day-sections-adds-all-standard-sections () + (with-temp-buffer + (org-mode) + (insert "#+title: Journal\n" + "#+startup: overview\n\n" + "* 2026\n" + "** 2026-04-08 Wednesday\n" + "*** Tasks\n" + "**** TODO Existing\n\n" + "** 2026-04-09 Thursday\n") + (goto-char (point-min)) + (re-search-forward "^\\*\\* 2026-04-09 Thursday$") + (goto-char (match-beginning 0)) + (ss-journal-ensure-day-sections) + (should (string-match-p + (regexp-quote + "** 2026-04-09 Thursday\n*** Tasks\n*** Notes\n*** Meetings\n") + (buffer-string))))) + +(ert-deftest ss-open-journal-narrows-to-today-when-entry-exists () + (let* ((file (make-temp-file "ss-journal" nil ".org")) + (ss-journal-file file)) + (unwind-protect + (progn + (with-temp-file file + (insert "#+title: Journal\n" + "* 2026\n" + "** 2026-04-09 Thursday\n" + "*** Notes\n")) + (let ((org-overriding-default-time (encode-time 0 0 12 9 4 2026))) + (ss-open-journal) + (should (buffer-narrowed-p)) + (should (equal (org-get-outline-path t) + '("2026" "2026-04-09 Thursday"))) + (should (looking-at-p "^\\*\\* 2026-04-09 Thursday$")))) + (when (buffer-live-p (current-buffer)) + (kill-buffer (current-buffer))) + (when (file-exists-p file) + (delete-file file))))) + +(ert-deftest ss-open-journal-keeps-end-fallback-when-today-missing () + (let* ((file (make-temp-file "ss-journal" nil ".org")) + (ss-journal-file file)) + (unwind-protect + (progn + (with-temp-file file + (insert "#+title: Journal\n" + "* 2026\n" + "** 2026-04-08 Wednesday\n" + "*** Notes\n")) + (let ((org-overriding-default-time (encode-time 0 0 12 9 4 2026))) + (ss-open-journal) + (should-not (buffer-narrowed-p)) + (should (eobp)))) + (when (buffer-live-p (current-buffer)) + (kill-buffer (current-buffer))) + (when (file-exists-p file) + (delete-file file))))) + +;;; ss-capture-tests.el ends here |
