Is there a solution out there for testing intermediate values in a threading macro? I.e. I want to write something like:
(-> [{:id 1}]
(click 1)
(is {:id 1 :selected? true})
(click 1)
(is {:id 1 :selected? false}))
doto?
doto won't really work because of the nesting, but just create your own helpers
(let [assert-selected #(do (is (= %1 {:id 1 :selected? %2})) %1)]
(-> [{:id 1}]
(click 1)
(assert-selected true)
(click 1)
(assert-selected false)))