making tests work again.

This commit is contained in:
2023-05-01 09:42:06 -07:00
parent 93ba8ca3b5
commit 611af7f9bb
9 changed files with 29 additions and 32 deletions

View File

@@ -12,7 +12,6 @@
:start [:journal-entry-line/client+account+location+date :start [:journal-entry-line/client+account+location+date
(:journal-entry-line/client+account+location+date jel) (:journal-entry-line/client+account+location+date jel)
(:db/id jel)] (:db/id jel)]
:limit 3
}) })
(filter (fn line-must-match-client-account-location [result] (filter (fn line-must-match-client-account-location [result]
(and (and

View File

@@ -28,7 +28,7 @@
:stop nil) :stop nil)
(mount/defstate conn (mount/defstate conn
:start (dc/connect "datomic:ddb://us-east-1/iol-dev/dev") :start (dc/connect uri)
:stop nil) :stop nil)
#_(def uri "datomic:mem://datomic-transactor:4334/invoice") #_(def uri "datomic:mem://datomic-transactor:4334/invoice")

View File

@@ -188,7 +188,6 @@
{:index :avet {:index :avet
:selector [:db/id :journal-entry-line/location :journal-entry-line/account :journal-entry-line/running-balance :journal-entry-line/client+account+location+date {:journal-entry/_line-items [:journal-entry/date :journal-entry/client]}] :selector [:db/id :journal-entry-line/location :journal-entry-line/account :journal-entry-line/running-balance :journal-entry-line/client+account+location+date {:journal-entry/_line-items [:journal-entry/date :journal-entry/client]}]
:start [:journal-entry-line/client+account+location+date [client bank-account "A" #inst "2030-01-01"]] :start [:journal-entry-line/client+account+location+date [client bank-account "A" #inst "2030-01-01"]]
:limit 1
:reverse true :reverse true
}) })
(filter (fn [{[c b] :journal-entry-line/client+account+location+date}] (filter (fn [{[c b] :journal-entry-line/client+account+location+date}]

View File

@@ -346,8 +346,7 @@
@(->> (dc/qseq {:query '[:find (pull ?je [:journal-entry/date :journal-entry/client {:journal-entry/line-items [:journal-entry-line/account :journal-entry-line/location :db/id]}]) @(->> (dc/qseq {:query '[:find (pull ?je [:journal-entry/date :journal-entry/client {:journal-entry/line-items [:journal-entry-line/account :journal-entry-line/location :db/id]}])
:in $ ?c :in $ ?c
:where [?je :journal-entry/client ?c]] :where [?je :journal-entry/client ?c]]
:args [(dc/db conn)]} :args [(dc/db conn) client]})
client)
(map first) (map first)
(mapcat (fn [je] (mapcat (fn [je]
(map (fn [jel] (map (fn [jel]
@@ -442,8 +441,7 @@
{:index :avet {:index :avet
:selector [:db/id :journal-entry-line/running-balance :journal-entry-line/client+account+location+date] :selector [:db/id :journal-entry-line/running-balance :journal-entry-line/client+account+location+date]
:start [:journal-entry-line/client+account+location+date [client account location starting-at]] :start [:journal-entry-line/client+account+location+date [client account location starting-at]]
:reverse true :reverse true})
:limit 500})
(take-while (fn [result] (take-while (fn [result]
(= [client (= [client
account account
@@ -461,17 +459,6 @@
account (pull-id db account)] account (pull-id db account)]
(into [] (into []
(comp (comp
(map (fn [i]
(dc/index-pull db
{:index :avet
:selector [:db/id :journal-entry-line/debit :journal-entry-line/credit :journal-entry-line/client+account+location+date]
:start [:journal-entry-line/client+account+location+date
[client account location starting-at]]
:offset (* i 1000)
:limit 1000}
)))
(take-while identity)
(mapcat identity)
(take-while (fn [{[result-client result-account result-location] :journal-entry-line/client+account+location+date}] (take-while (fn [{[result-client result-account result-location] :journal-entry-line/client+account+location+date}]
(and (and
(= client result-client) (= client result-client)
@@ -479,7 +466,13 @@
(= location result-location)))) (= location result-location))))
(map (fn [result] (map (fn [result]
[(:db/id result) (:journal-entry-line/debit result 0.0) (:journal-entry-line/credit result 0.0) ]))) [(:db/id result) (:journal-entry-line/debit result 0.0) (:journal-entry-line/credit result 0.0) ])))
(range 100)))) (dc/index-pull db
{:index :avet
:selector [:db/id :journal-entry-line/debit :journal-entry-line/credit :journal-entry-line/client+account+location+date]
:start [:journal-entry-line/client+account+location+date
[client account location starting-at]]
}))))
(defn compute-running-balance [account-needing-refresh] (defn compute-running-balance [account-needing-refresh]
(mu/trace ::compute (mu/trace ::compute

View File

@@ -3,7 +3,7 @@
[auto-ap.datomic :refer [conn]] [auto-ap.datomic :refer [conn]]
[auto-ap.import.transactions :as sut] [auto-ap.import.transactions :as sut]
[auto-ap.integration.util :refer [wrap-setup]] [auto-ap.integration.util :refer [wrap-setup]]
[iol-ion.tx :refer [upsert-transaction]] [iol-ion.tx.upsert-transaction :refer [upsert-transaction]]
[datomic.api :as dc] [datomic.api :as dc]
[clj-time.coerce :as coerce] [clj-time.coerce :as coerce]
[clojure.test :as t] [clojure.test :as t]

View File

@@ -2,7 +2,7 @@
(:require (:require
[auto-ap.datomic :refer [conn pull-attr]] [auto-ap.datomic :refer [conn pull-attr]]
[auto-ap.ledger :as sut] [auto-ap.ledger :as sut]
[iol-ion.tx :refer [upsert-ledger]] [iol-ion.tx.upsert-ledger :refer [upsert-ledger]]
[auto-ap.integration.util :refer [wrap-setup]] [auto-ap.integration.util :refer [wrap-setup]]
[clojure.test :as t :refer [deftest is testing use-fixtures]] [clojure.test :as t :refer [deftest is testing use-fixtures]]
[datomic.api :as d])) [datomic.api :as d]))

View File

@@ -1,18 +1,16 @@
(ns auto-ap.integration.util (ns auto-ap.integration.util
(:require [datomic.api :as dc] (:require [datomic.api :as dc]
[auto-ap.datomic :refer [client conn transact-schema]] [auto-ap.datomic :refer [conn transact-schema]]
[clj-time.core :as time])) [clj-time.core :as time]))
(defn wrap-setup (defn wrap-setup
[f] [f]
(require 'datomic.dev-local) (with-redefs [auto-ap.datomic/uri "datomic:mem://test"]
(with-redefs [auto-ap.datomic/client (dc/client {:server-type :dev-local (dc/create-database auto-ap.datomic/uri)
:system "test"})] (with-redefs [auto-ap.datomic/conn auto-ap.datomic/uri]
(dc/create-database client {:db-name "test"})
(with-redefs [auto-ap.datomic/conn (dc/connect client {:db-name "test"})]
(transact-schema conn) (transact-schema conn)
(f) (f)
(dc/delete-database client {:db-name "test"})))) (dc/delete-database auto-ap.datomic/uri))))
(defn admin-token [] (defn admin-token []
{:user "TEST ADMIN" {:user "TEST ADMIN"

View File

@@ -61,10 +61,10 @@
:customer-identifier "ABC" :customer-identifier "ABC"
:invoice-number "789")]) :invoice-number "789")])
(t/is (= [["DE"]] (dc/q '[:find ?l (t/is (= [["DE"]] (dc/q '[:find ?l
:where [?i :invoice/invoice-number "789"] :where [?i :invoice/invoice-number "789"]
[?i :invoice/expense-accounts ?ea] [?i :invoice/expense-accounts ?ea]
[?ea :invoice-expense-account/location ?l] [?ea :invoice-expense-account/location ?l]]
(dc/db conn))))) (dc/db conn)))))
(t/testing "Should code invoice" (t/testing "Should code invoice"
(let [{{:strs [my-default-account coded-vendor]} :tempids} (dc/transact conn (let [{{:strs [my-default-account coded-vendor]} :tempids} (dc/transact conn

View File

@@ -146,3 +146,11 @@ WGC,2021-03-26,Equipment 3,Kitchen Equipment
WGC,2021-03-26,Equipment 3,Kitchen Equipment WGC,2021-03-26,Equipment 3,Kitchen Equipment
BSG,2021-05-26,Advertising,Design BSG,2021-05-26,Advertising,Design
WGC,2021-09-17,Advertising,Promotional or Donation Meal Comps WGC,2021-09-17,Advertising,Promotional or Donation Meal Comps
differences:
q only supports one query format in on-prem, multiple in cloud
qseq takes a different format too
index-pull is not chunked