35 lines
1.6 KiB
Clojure
35 lines
1.6 KiB
Clojure
(ns test.auto-ap.graphql
|
|
(:require [auto-ap.graphql :as sut]
|
|
[venia.core :as v]
|
|
[clojure.test :as t :refer [deftest is testing]]))
|
|
|
|
(deftest query
|
|
(testing "ledger"
|
|
(testing "it should find ledger entries"
|
|
(let [result (:ledger-page (:data (sut/query nil "{ ledger_page(client_id: null) { count, start, journal_entries { id } }}")))]
|
|
(is (int? (:count result)))
|
|
(is (int? (:start result)))
|
|
(is (seqable? (:journal-entries result))))))
|
|
|
|
(testing "transaction-rules"
|
|
(testing "it should find rules"
|
|
(let [result (-> (sut/query nil "{ transaction_rule_page(client_id: null) { count, start, transaction_rules { id } }}")
|
|
:data
|
|
:transaction-rule-page)]
|
|
(is (int? (:count result)))
|
|
(is (int? (:start result)))
|
|
(is (seqable? (:transaction-rules result)))))
|
|
|
|
(testing "it should add rules"
|
|
(let [q (v/graphql-query {:venia/operation {:operation/type :mutation
|
|
:operation/name "UpsertTransactionRule"}
|
|
:venia/queries [{:query/data (sut/->graphql [:upsert-transaction-rule
|
|
{:transaction-rule {:description "123"}}
|
|
[:id :description]])}]})
|
|
result (-> (sut/query nil q)
|
|
:data
|
|
:upsert-transaction-rule)]
|
|
(is (= "123" (:description result)))
|
|
(is (:id result))))))
|
|
|