scrubbed all reference to datomic.api

This commit is contained in:
2023-03-20 12:54:56 -07:00
parent 8290138156
commit 9260834135
19 changed files with 731 additions and 611 deletions

View File

@@ -1,26 +1,15 @@
(ns auto-ap.routes.invoice-test
(:require
[auto-ap.datomic :refer [uri conn]]
[auto-ap.datomic.migrate :as m]
[auto-ap.datomic :refer [conn]]
[auto-ap.integration.util :refer [user-token wrap-setup]]
[auto-ap.routes.invoices :as sut]
[clojure.test :as t]
[datomic.api :as d]
[clj-time.coerce :as coerce]))
(defn wrap-setup
[f]
(with-redefs [auto-ap.datomic/uri "datomic:mem://datomic-transactor:4334/invoice"]
(d/create-database uri)
(with-redefs [auto-ap.datomic/conn (d/connect uri)]
(m/migrate auto-ap.datomic/conn)
(f)
(d/release auto-ap.datomic/conn)
(d/delete-database uri))))
[datomic.client.api :as dc]
[clj-time.coerce :as coerce]
[clojure.test :as t]))
(t/use-fixtures :each wrap-setup)
(def user {:user/role "admin"
:user/name "Bryce"})
(def user (user-token))
(def client {:client/code "ABC"
:client/name "ABC"
@@ -35,10 +24,10 @@
(defn invoice-count-for-client [c]
(or
(first (first (d/q '[:find (count ?i)
(first (first (dc/q '[:find (count ?i)
:in $ ?c
:where [?i :invoice/client ?c]]
(d/db conn) c)))
(dc/db conn) c)))
0))
(def invoice {:customer-identifier "ABC"
@@ -49,7 +38,7 @@
(t/deftest import-uploaded-invoices
(t/testing "It should import one"
@(d/transact conn [client expense-account vendor])
(dc/transact conn {:tx-data [client expense-account vendor]})
(t/is (= 0 (invoice-count-for-client [:client/code "ABC"])))
(sut/import-uploaded-invoice user [(assoc invoice :customer-identifier "ABC")])
@@ -69,26 +58,28 @@
:location-override "DE"
:customer-identifier "ABC"
:invoice-number "789")])
(t/is (= ["DE"] (d/q '[:find [?l ...]
(t/is (= [["DE"]] (dc/q '[:find ?l
:where [?i :invoice/invoice-number "789"]
[?i :invoice/expense-accounts ?ea]
[?ea :invoice-expense-account/location ?l]]
(d/db conn)))))
(dc/db conn)))))
(t/testing "Should code invoice"
(let [{{:strs [my-default-account coded-vendor]} :tempids} @(d/transact conn [{:vendor/name "Coded"
:db/id "coded-vendor"
:vendor/terms 12
:vendor/default-account "my-default-account"}
{:db/id "my-default-account"
:account/name "My default-account"}])]
(let [{{:strs [my-default-account coded-vendor]} :tempids} (dc/transact conn
{:tx-data
[{:vendor/name "Coded"
:db/id "coded-vendor"
:vendor/terms 12
:vendor/default-account "my-default-account"}
{:db/id "my-default-account"
:account/name "My default-account"}]})]
(sut/import-uploaded-invoice user [(assoc invoice
:invoice-number "456"
:customer-identifier "ABC"
:vendor-code "Coded")])
(let [[result] (d/q '[:find [(pull ?i [*]) ...]
(let [[[result]] (dc/q '[:find (pull ?i [*])
:where [?i :invoice/invoice-number "456"]]
(d/db conn))]
(dc/db conn))]
(t/is (= coded-vendor (:db/id (:invoice/vendor result))))
(t/is (= [my-default-account]
(map (comp :db/id :invoice-expense-account/account) (:invoice/expense-accounts result))))