Moved utils into support.

This commit is contained in:
Simon Brooke 2018-06-20 09:23:02 +01:00
parent e43f3087d6
commit 1ccb368ab4
5 changed files with 591 additions and 27 deletions

View file

@ -2,6 +2,21 @@
(:require [clojure.test :refer :all]
[adl-support.core :refer :all]))
(deftest a-test
(testing "FIXME, I fail."
(is (= 0 1))))
(deftest query-string-to-map-tests
(testing "conversion of query strings to maps"
(let [expected {}
actual (query-string-to-map nil)]
(is (= expected actual) "Nil arg"))
(let [expected {}
actual (query-string-to-map "")]
(is (= expected actual) "Empty string arg"))
(let [expected {:id 1}
actual (query-string-to-map "id=1")]
(is (= expected actual) "One integer value"))
(let [expected {:name "simon"}
actual (query-string-to-map "name=simon")]
(is (= expected actual) "One string value."))
(let [expected {:name "simon" :id 1}
actual (query-string-to-map "id=1&name=simon")]
(is (= expected actual) "One string value, one integer. Order of pairs might be reversed, and that's OK"))
))

View file

@ -0,0 +1,50 @@
(ns adl-support.tags-test
(:require [clojure.test :refer :all]
[adl-support.tags :refer :all]
[selmer.parser :as parser]))
(add-tags)
(deftest if-member-of-tests
(testing "testing the if-member-of tag"
(let [expected "boo"
actual (if-member-of-permitted nil nil "caramba" "boo")]
(is (= expected actual) "Nil args, nil "))
(let [expected "boo"
actual (if-member-of-permitted nil {:user-roles #{"admin"}} "caramba" "boo")]
(is (= expected actual) "Nil args, one user-group"))
(let [expected "boo"
actual (if-member-of-permitted '("public") {:user-roles #{"admin"}} "caramba" "boo")]
(is (= expected actual) "One arg, one non-matching user-group"))
(let [expected "caramba"
actual (if-member-of-permitted '("admin") {:user-roles #{"admin"}} "caramba" "boo")]
(is (= expected actual) "One arg, one matching user-group"))
(let [expected "boo"
actual (if-member-of-permitted '("public") {:user-roles #{"admin" "canvassers"}} "caramba" "boo")]
(is (= expected actual) "One arg, two non-matching user-roles"))
(let [expected "caramba"
actual (if-member-of-permitted '("admin") {:user-roles #{"admin" "canvassers"}} "caramba" "boo")]
(is (= expected actual) "One arg, two user-roles, first one matching"))
(let [expected "caramba"
actual (if-member-of-permitted '("admin") {:user-roles #{"canvassers" "admin"}} "caramba" "boo")]
(is (= expected actual) "One arg, two user-roles, second one matching"))
(let [expected "caramba"
actual (if-member-of-permitted '("admin" "public") {:user-roles #{"admin"}} "caramba" "boo")]
(is (= expected actual) "Two args, one user-group, first arg matches"))
(let [expected "caramba"
actual (if-member-of-permitted '("public" "admin") {:user-roles #{"admin"}} "caramba" "boo")]
(is (= expected actual) "Two args, one user-group, second arg matches"))
(let [expected "not-permitted"
actual (parser/render
"{% ifmemberof public canvassers %}permitted{% else %}not-permitted{% endifmemberof %}"
{:user-roles #{"admin"}})]
(is (= expected actual) "Two args, one non-matching user-group"))
(let [expected "permitted"
actual (parser/render
"{% ifmemberof public canvassers %}permitted{% else %}not-permitted{% endifmemberof %}"
{:user-roles #{"canvassers"}})]
(is (= expected actual) "Two args, one matching user-group"))
))