- Auth: 30 tests (97 assertions) covering OAuth, sessions, JWT, impersonation, roles - Company: 35 tests (92 assertions) covering profile, 1099, expense reports, permissions - Ledger: 113 tests (148 assertions) covering grid, journal entries, import, reports - Fix existing test failures in running_balance, insights, tx, plaid, graphql - Fix InMemSolrClient to handle Solr query syntax properly - Update behavior docs: auth (42 done), company (32 done), ledger (120 done) - All 478 tests pass with 0 failures, 0 errors
34 lines
2.0 KiB
Clojure
34 lines
2.0 KiB
Clojure
(ns auto-ap.integration.graphql.users
|
|
(:require
|
|
[auto-ap.time-reader]
|
|
[auto-ap.datomic :refer [conn uri]]
|
|
[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)]
|
|
(is (= client-id (get-in result [:clients 0 :id])))))
|
|
(testing "Should allow adding clients"
|
|
(let [result (sut/edit-user {:id (admin-token)} {:edit_user {:role :power_user
|
|
:id user-id
|
|
:clients []}} nil)]
|
|
(is (not (seq (: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)))))))
|