diff --git a/src/clj/auto_ap/datomic/users.clj b/src/clj/auto_ap/datomic/users.clj index c2ac8c4b..e91d1f0a 100644 --- a/src/clj/auto_ap/datomic/users.clj +++ b/src/clj/auto_ap/datomic/users.clj @@ -18,7 +18,6 @@ :where []} :args [(d/db (d/connect uri))]} (add-arg '?e id ['?e]))] - (->> (d/query query) (map first) (map #(update % :user/role :db/ident)) diff --git a/test/clj/auto_ap/integration/graphql/users.clj b/test/clj/auto_ap/integration/graphql/users.clj new file mode 100644 index 00000000..e58dfed0 --- /dev/null +++ b/test/clj/auto_ap/integration/graphql/users.clj @@ -0,0 +1,37 @@ +(ns auto-ap.integration.graphql.users + (:require + [auto-ap.time-reader] + [auto-ap.datomic :refer [conn uri]] + [auto-ap.graphql.users :as sut] + [auto-ap.integration.util :refer [admin-token user-token wrap-setup]] + [clojure.test :as t :refer [deftest is testing use-fixtures]] + [com.brunobonacci.mulog :as mu] + [datomic.api :as d])) + +(use-fixtures :each wrap-setup) + + +(deftest edit-user + (testing "should allow editing a user" + + + (let [{{:strs [user-id] } :tempids} @(d/transact conn [{:db/id "user-id" :user/name "Bryce"}]) + result (sut/edit-user {:id (admin-token)} {:edit_user {:role :power_user :id user-id}} nil)] + (is (some? (:id result)) + (= :power_user (:role result))) + (testing "Should allow adding clients" + (let [{{:strs [client-id] } :tempids} @(d/transact conn [{:db/id "client-id" :client/name "Bryce"}]) + result (sut/edit-user {:id (admin-token)} {:edit_user {:role :power_user + :id user-id + :clients [(str client-id)]}} nil)] + (= [client-id] (:clients result)))) + (testing "Should allow adding clients" + (let [{{:strs [client-id] } :tempids} @(d/transact conn [{:db/id "client-id" :client/name "Bryce"}]) + result (sut/edit-user {:id (admin-token)} {:edit_user {:role :power_user + :id user-id + :clients []}} nil)] + (= [] (:clients result)))) + (testing "Should disallow normies" + (is (thrown? Exception (sut/edit-user {:id (user-token)} {:edit_user {:role :power_user + :id user-id + :clients []}} nil)))))))