summaryrefslogtreecommitdiff
path: root/tests/test-restclient-config-new-buffer.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-02-18 23:20:28 -0600
committerCraig Jennings <c@cjennings.net>2026-02-18 23:20:28 -0600
commitb19ad7899fecfb6835e19e23a7069233654c9fc7 (patch)
treea8f1747db2a1254d029234a29a45578088305ffc /tests/test-restclient-config-new-buffer.el
parent6bf2688d0b3e4fef82671fb70e1aa883b0c90018 (diff)
feat(restclient): add REST API client for interactive API exploration
restclient.el + restclient-jq integration with SkyFi API templates, tutorial file, auto key injection from authinfo, 17 ERT tests.
Diffstat (limited to 'tests/test-restclient-config-new-buffer.el')
-rw-r--r--tests/test-restclient-config-new-buffer.el62
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/test-restclient-config-new-buffer.el b/tests/test-restclient-config-new-buffer.el
new file mode 100644
index 00000000..a89ec3a3
--- /dev/null
+++ b/tests/test-restclient-config-new-buffer.el
@@ -0,0 +1,62 @@
+;;; test-restclient-config-new-buffer.el --- Tests for cj/restclient-new-buffer -*- lexical-binding: t; -*-
+
+;;; Commentary:
+;; Unit tests for cj/restclient-new-buffer function.
+;; Creates a scratch *restclient* buffer in restclient-mode.
+;; Covers Normal and Boundary cases.
+
+;;; Code:
+
+(when noninteractive
+ (package-initialize))
+
+(require 'ert)
+(require 'restclient-config)
+
+;;; Normal Cases
+
+(ert-deftest test-restclient-new-buffer-creates-buffer ()
+ "Creates a buffer named *restclient*."
+ (unwind-protect
+ (progn
+ (cj/restclient-new-buffer)
+ (should (get-buffer "*restclient*")))
+ (when (get-buffer "*restclient*")
+ (kill-buffer "*restclient*"))))
+
+(ert-deftest test-restclient-new-buffer-sets-mode ()
+ "Buffer is in restclient-mode."
+ (unwind-protect
+ (progn
+ (cj/restclient-new-buffer)
+ (with-current-buffer "*restclient*"
+ (should (eq major-mode 'restclient-mode))))
+ (when (get-buffer "*restclient*")
+ (kill-buffer "*restclient*"))))
+
+(ert-deftest test-restclient-new-buffer-switches-to-buffer ()
+ "Switches to the *restclient* buffer."
+ (unwind-protect
+ (progn
+ (cj/restclient-new-buffer)
+ (should (string= (buffer-name (current-buffer)) "*restclient*")))
+ (when (get-buffer "*restclient*")
+ (kill-buffer "*restclient*"))))
+
+;;; Boundary Cases
+
+(ert-deftest test-restclient-new-buffer-reuses-existing ()
+ "Reuses existing *restclient* buffer instead of creating a duplicate."
+ (unwind-protect
+ (let ((buf (get-buffer-create "*restclient*")))
+ (with-current-buffer buf
+ (restclient-mode)
+ (insert "# existing content"))
+ (cj/restclient-new-buffer)
+ (should (eq (current-buffer) buf))
+ (should (string-match-p "existing content" (buffer-string))))
+ (when (get-buffer "*restclient*")
+ (kill-buffer "*restclient*"))))
+
+(provide 'test-restclient-config-new-buffer)
+;;; test-restclient-config-new-buffer.el ends here