From 727478a81baee01f21262b3bcf56d8af2e2957fa Mon Sep 17 00:00:00 2001 From: Josha von Gizycki Date: Sun, 28 Jul 2019 16:33:14 +0200 Subject: [PATCH] tests --- test/formulare/core_test.clj | 112 +++++++++++++++++++---------------- 1 file changed, 61 insertions(+), 51 deletions(-) diff --git a/test/formulare/core_test.clj b/test/formulare/core_test.clj index da28be2..31402ea 100644 --- a/test/formulare/core_test.clj +++ b/test/formulare/core_test.clj @@ -85,9 +85,9 @@ :type "text" :value nil}]) (first - (nthrest - (render-widgets def {} {}) - 2))))) + (nthrest + (render-widgets def {} {}) + 2))))) (let [def {:fields {:foo-id {:label "foo-label" :required true :widget :input}}}] @@ -99,9 +99,9 @@ :type "text" :value nil}]) (first - (nthrest - (render-widgets def {} {}) - 2))))) + (nthrest + (render-widgets def {} {}) + 2))))) (testing "input is default" (let [def {:fields {:foo-id {:label "foo-label" :required true}}}] @@ -113,9 +113,9 @@ :type "text" :value nil}]) (first - (nthrest - (render-widgets def {} {}) - 2))))))) + (nthrest + (render-widgets def {} {}) + 2))))))) (testing "checkbox is rendered correctly" (let [def {:fields {:foo-id {:label "foo-label" :widget :checkbox}}}] @@ -127,9 +127,9 @@ :type "checkbox" :value nil}]) (first - (nthrest - (render-widgets def {} {}) - 2))))) + (nthrest + (render-widgets def {} {}) + 2))))) (let [def {:fields {:foo-id {:label "foo-label" :required true :widget :checkbox}}}] @@ -141,9 +141,9 @@ :type "checkbox" :value nil}]) (first - (nthrest - (render-widgets def {} {}) - 2)))))) + (nthrest + (render-widgets def {} {}) + 2)))))) (testing "textarea is rendered correctly" (let [def {:fields {:foo-id {:label "foo-label" :widget :textarea}}}] @@ -154,9 +154,9 @@ :required false} ""]) (first - (nthrest - (render-widgets def {} {}) - 2))))) + (nthrest + (render-widgets def {} {}) + 2))))) (let [def {:fields {:foo-id {:label "foo-label" :required true :widget :textarea}}}] @@ -167,9 +167,9 @@ :required true} ""]) (first - (nthrest - (render-widgets def {} {}) - 2)))))) + (nthrest + (render-widgets def {} {}) + 2)))))) (testing "select is rendered correctly" (let [def {:fields {:foo-id {:label "foo-label" :widget :select @@ -180,12 +180,12 @@ [:select {:id "foo-id" :name "foo-id"} (list - [:option {:value "key1" :selected false} "value1"] - [:option {:value "key2" :selected false} "value2"])]) + [:option {:value "key1" :selected false} "value1"] + [:option {:value "key2" :selected false} "value2"])]) (first - (nthrest - (render-widgets def {} {}) - 2)))))) + (nthrest + (render-widgets def {} {}) + 2)))))) (testing "hidden is rendered correctly" (let [def {:fields {:foo-id {:label "foo-label" :widget :hidden}}}] @@ -196,9 +196,9 @@ :name "foo-id" :value nil}]) (first - (nthrest - (render-widgets def {} {}) - 2))))) + (nthrest + (render-widgets def {} {}) + 2))))) (let [def {:fields {:foo-id {:label "foo-label" :widget :hidden}}}] (is (= (list nil @@ -208,9 +208,9 @@ :name "foo-id" :value "4711"}]) (first - (nthrest - (render-widgets def {:foo-id "4711"} {}) - 2)))))) + (nthrest + (render-widgets def {:foo-id "4711"} {}) + 2)))))) (testing "mselect is rendered correctly" (let [def {:fields {:foo-id {:label "foo-label" :widget :mselect @@ -223,12 +223,22 @@ :size 5 :multiple "multiple"} (list - [:option {:value "key1" :selected false} "value1"] - [:option {:value "key2" :selected false} "value2"])]) + [:option {:value "key1" :selected false} "value1"] + [:option {:value "key2" :selected false} "value2"])]) (first - (nthrest - (render-widgets def {} {}) - 2))))))) + (nthrest + (render-widgets def {} {}) + 2)))))) + (testing "input-widget uses :attr" + (let [def {:fields {:foor-id {:attrs {:autofocus true}}}} + rendered-input (-> (render-widgets def {} {}) + (nthrest 2) + first + (nthrest 2) + first) + input-attrs (second rendered-input)] + (contains? input-attrs :autofocus) + (is (= true (:autofocus input-attrs)))))) (deftest to-form-is-used (testing "data passed to fo-form is taken from values" @@ -242,9 +252,9 @@ :required false :type "text"}]) (first - (nthrest - (render-widgets def {:foo "abc"} {}) - 2))))) + (nthrest + (render-widgets def {:foo "abc"} {}) + 2))))) (let [def {:fields {:foo {:label "" :to-form (partial str "4711")}}}] (is (= (list nil @@ -255,9 +265,9 @@ :required false :type "text"}]) (first - (nthrest - (render-widgets def {:foo "abc"} {:params {:foo "def"}}) - 2))))))) + (nthrest + (render-widgets def {:foo "abc"} {:params {:foo "def"}}) + 2))))))) (deftest form-specs-is-applied (testing "valid spec" @@ -268,10 +278,10 @@ :id "__form-hash" :value (form-hash def {})}] (second - (render-widgets - def - {} - {:params {:__form-hash (form-hash def {})}})))))) + (render-widgets + def + {} + {:params {:__form-hash (form-hash def {})}})))))) (testing "invalid spec" (let [def {:fields {} :form-specs [(fn [req] false)]}] @@ -279,10 +289,10 @@ [:h2.flash__heading--error "Warning"] [:p "The form must comply to " (name :clojure.spec.alpha/unknown)]] (first - (render-widgets - def - {} - {:params {:__form-hash (form-hash def {})}}))))))) + (render-widgets + def + {} + {:params {:__form-hash (form-hash def {})}}))))))) (deftest html-contents-are-escaped (testing "mselect"