amperity / greenlight

Clojure integration testing framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Make test functions unaware of location of inputs in context

jstokes opened this issue · comments

Test inputs are pulled directly from a ctx map that is passed along from test step to test step. Components are pulled into scope by explicit ::step/component entries. We can unify these two inputs. For example, if our make-foo returns a step:

(make-foo 
  {:foo 123
   :bar "baz"
   ;; Adding a `:qux` to input map based on the context
   :qux (step/lookup :look-here)
   ;; Adding a client key based on test components
   ;; replacing ::step/component
   :client (step/component :foo/client)})

This simplifies test steps in that they do not need to care where inputs from context come from, and are able to work on a single flat make of inputs.