All tests pass again.

This commit is contained in:
2023-03-20 15:59:57 -07:00
parent 9260834135
commit 1497549d64
6 changed files with 2092 additions and 47 deletions

View File

@@ -9,6 +9,13 @@
(deftest test-account-search
(testing "It should find matching account names"
(dc/transact conn {:tx-data [{:account/name "Food Research"
:db/ident :client-specific-account
:account/numeric-code 51100
:account/search-terms "Food Research"
:account/applicability :account-applicability/global
:account/default-allowance :allowance/allowed}]})
(sut/rebuild-search-index)
(is (> (count (sut/search {:id (admin-token)}
{:query "Food Research"}
nil
@@ -16,7 +23,7 @@
0)))
(testing "It should find exact matches by numbers"
(is (= (count (sut/search {:id (admin-token)}
{:query "5110"}
{:query "51100"}
nil
))
1)))
@@ -27,10 +34,11 @@
:account/search-terms "CLIENTSPECIFIC"
:account/applicability :account-applicability/customized
:account/default-allowance :allowance/allowed}]})
(is (= 0 (count (sut/search {:id (admin-token)}
{:query "CLIENTSPECIFIC"}
nil
))))
(sut/rebuild-search-index)
(is (= [] (sut/search {:id (admin-token)}
{:query "CLIENTSPECIFIC"}
nil
)))
(testing "It should show up for the client specific version"
(let [client-id (-> (dc/transact conn {:tx-data [{:client/name "CLIENT"
@@ -41,6 +49,7 @@
:account-client-override/search-terms "HELLOWORLD"}]}]})
:tempids
(get "client"))]
(sut/rebuild-search-index)
(is (= 1 (count (sut/search {:id (admin-token)}
{:query "HELLOWORLD"
:client_id client-id}
@@ -76,6 +85,7 @@
:account/default-allowance :allowance/warn
:account/vendor-allowance :allowance/warn
:account/invoice-allowance :allowance/warn}]})
(sut/rebuild-search-index)
(is (some? (:warning (first (sut/search {:id (admin-token)}
{:query "WARNING"
:allowance :global}
@@ -97,10 +107,11 @@
:account/default-allowance :allowance/admin-only
:account/vendor-allowance :allowance/admin-only
:account/invoice-allowance :allowance/admin-only}]})
(sut/rebuild-search-index)
(is (= 1 (count (sut/search {:id (admin-token)}
{:query "ADMINONLY"}
nil))))
(is (= 0 (count (sut/search {:id (user-token 1)}
(is (= 0 (count (sut/search {:id (user-token)}
{:query "ADMINONLY"}
nil)))))
@@ -120,6 +131,7 @@
:db/id "vendor"}]})
:tempids
(get "vendor"))]
(sut/rebuild-search-index)
(is (= 0 (count (sut/search {:id (admin-token)}
{:query "VENDORONLY"
:allowance :invoice}
@@ -130,5 +142,3 @@
:allowance :invoice
:vendor_id vendor-id}
nil))))))))

View File

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

View File

@@ -1,15 +1,16 @@
(ns auto-ap.routes.invoice-test
(:require
[auto-ap.datomic :refer [conn]]
[auto-ap.integration.util :refer [user-token wrap-setup]]
[auto-ap.datomic.clients :refer [rebuild-search-index]]
[auto-ap.integration.util :refer [admin-token wrap-setup]]
[auto-ap.routes.invoices :as sut]
[datomic.client.api :as dc]
[clj-time.coerce :as coerce]
[clojure.test :as t]))
[clojure.test :as t]
[datomic.client.api :as dc]))
(t/use-fixtures :each wrap-setup)
(def user (user-token))
(def user (admin-token))
(def client {:client/code "ABC"
:client/name "ABC"
@@ -39,6 +40,7 @@
(t/deftest import-uploaded-invoices
(t/testing "It should import one"
(dc/transact conn {:tx-data [client expense-account vendor]})
(rebuild-search-index)
(t/is (= 0 (invoice-count-for-client [:client/code "ABC"])))
(sut/import-uploaded-invoice user [(assoc invoice :customer-identifier "ABC")])