1
0
Fork 0

Added tests for kagi-translate

This commit is contained in:
Bram Schoenmakers 2024-02-13 08:40:09 +01:00
parent ec63275484
commit 4bb7a1d63e
Signed by: bram
GPG key ID: 0CCD19DFDC63258F

View file

@ -61,6 +61,7 @@ TEXT is the output text, optionally with a list of REFERENCES."
:var ((dummy-output "text")) :var ((dummy-output "text"))
(before-each (before-each
(spy-on #'kagi--call-api :and-return-value (kagi-test--dummy-output dummy-output))) (spy-on #'kagi--call-api :and-return-value (kagi-test--dummy-output dummy-output)))
(describe "kagi-fastgpt-prompt"
(it "converts *bold* markup to a bold face" (it "converts *bold* markup to a bold face"
(spy-on #'kagi--call-api :and-return-value (kagi-test--dummy-output "**bold**")) (spy-on #'kagi--call-api :and-return-value (kagi-test--dummy-output "**bold**"))
(expect (kagi-fastgpt-prompt "foo") (expect (kagi-fastgpt-prompt "foo")
@ -121,12 +122,37 @@ https://www.example.com"
(it "shows short output in the echo area when called interactively" (it "shows short output in the echo area when called interactively"
(spy-on #'message) (spy-on #'message)
(spy-on #'kagi--call-api :and-return-value (kagi-test--dummy-output dummy-output)) (spy-on #'kagi--call-api :and-return-value (kagi-test--dummy-output dummy-output))
(kagi-fastgpt-prompt "foo" nil t)) (kagi-fastgpt-prompt "foo" nil t)
(expect #'message :to-have-been-called-with dummy-output))
(it "shows longer output in a separate buffer when called interactively" (it "shows longer output in a separate buffer when called interactively"
(spy-on #'kagi--fastgpt-display-result) (spy-on #'kagi--fastgpt-display-result)
(spy-on #'kagi--call-api :and-return-value (kagi-test--dummy-output (format "%s\n%s" dummy-output dummy-output))) (spy-on #'kagi--call-api :and-return-value (kagi-test--dummy-output (format "%s\n%s" dummy-output dummy-output)))
(kagi-fastgpt-prompt "foo" nil t) (kagi-fastgpt-prompt "foo" nil t)
(expect #'kagi--fastgpt-display-result :to-have-been-called))) (expect #'kagi--fastgpt-display-result :to-have-been-called)))
(describe "kagi-translate"
(before-each
(spy-on #'message)
(spy-on #'kagi--fastgpt-display-result))
(it "returns output on minimal input"
(kagi-translate "foo" "English")
(expect #'kagi--call-api :to-have-been-called)
(expect #'message :not :to-have-been-called)
(expect #'kagi--fastgpt-display-result :not :to-have-been-called))
(it "returns output with a source language"
(kagi-translate "foo" "English" "Spanish")
(expect #'kagi--call-api :to-have-been-called))
(it "shows short output in the echo area when called interactively"
(spy-on #'message)
(spy-on #'kagi--call-api :and-return-value (kagi-test--dummy-output dummy-output))
(kagi-translate "foo" "English" nil t)
(expect #'message :to-have-been-called-with dummy-output)
(expect #'kagi--fastgpt-display-result :not :to-have-been-called))
(it "shows longer output in a separate buffer when called interactively"
(spy-on #'kagi--fastgpt-display-result)
(spy-on #'kagi--call-api :and-return-value (kagi-test--dummy-output (format "%s\n%s" dummy-output dummy-output)))
(kagi-translate "foo" "English" nil t)
(expect #'message :not :to-have-been-called)
(expect #'kagi--fastgpt-display-result :to-have-been-called))))
(xdescribe "Kagi Summarizer" (xdescribe "Kagi Summarizer"
(before-each (before-each