From 095096941863fa2f7501b7c91a874ef3b10a0484 Mon Sep 17 00:00:00 2001 From: Frederic Merizen Date: Wed, 29 Sep 2021 10:52:18 +0200 Subject: [PATCH] Preserve return value of with-doubles body --- src/greenpowermonitor/test_doubles.cljc | 5 +++-- test/greenpowermonitor/test_doubles_test.cljc | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/greenpowermonitor/test_doubles.cljc b/src/greenpowermonitor/test_doubles.cljc index 312a71f..dc2565d 100644 --- a/src/greenpowermonitor/test_doubles.cljc +++ b/src/greenpowermonitor/test_doubles.cljc @@ -75,8 +75,9 @@ {:keys [spying stubbing ignoring throwing] :or {spying [] stubbing [] ignoring [] throwing []}} doubles] `(with-redefs ~(create-doubles-list spying stubbing ignoring throwing) - ~@body - (reset! *spies-atom* {}))))) + (let [result# (do ~@body)] + (reset! *spies-atom* {}) + result#))))) (defn calls-to [function] (if-let [calls (some-> *spies-atom* deref (get function) deref)] diff --git a/test/greenpowermonitor/test_doubles_test.cljc b/test/greenpowermonitor/test_doubles_test.cljc index d36e2da..34df538 100644 --- a/test/greenpowermonitor/test_doubles_test.cljc +++ b/test/greenpowermonitor/test_doubles_test.cljc @@ -132,3 +132,7 @@ :cljs (ex-message e)))) (is (= some-map (ex-data e)))))))) + +(deftest returning-the-body-value + (is (= "hi there" + (td/with-doubles "hi there"))))