fixes tests.

This commit is contained in:
2023-08-31 23:43:19 -07:00
parent 7d251c8398
commit c98766873e
14 changed files with 49 additions and 46 deletions

View File

@@ -10,9 +10,7 @@
(t/deftest plaid->transaction
(t/testing "Should invert amount if a credit account"
(t/is (= 123.45 (:transaction/amount (sut/plaid->transaction base-transaction {}))))
(t/is (= -123.45 (:transaction/amount (sut/plaid->transaction (assoc base-transaction :account {:type "credit"}) {})))))
(t/testing "Should assign a plaid merchant if a merchant is found"
(t/is (= "Home Depot" (-> (sut/plaid->transaction (assoc base-transaction
:merchant_name "Home Depot")

View File

@@ -3,7 +3,7 @@
[venia.core :as v]
[clojure.test :as t :refer [deftest is testing use-fixtures]]
[datomic.api :as dc]
[auto-ap.integration.util :refer [wrap-setup admin-token user-token]]
[auto-ap.integration.util :refer [wrap-setup admin-token user-token setup-test-data test-transaction]]
[auto-ap.datomic :refer [conn]]))
@@ -28,21 +28,19 @@
(use-fixtures :each wrap-setup)
(deftest transaction-page
(testing "transaction page"
@(dc/transact conn
[(new-client {:db/id "client"})
(new-transaction {:transaction/client "client"})])
(testing "It should find all transactions"
(let [result (:transaction-page (:data (sut/query (admin-token) "{ transaction_page(filters: {client_id: null}) { count, start, data { id } }}")))]
(is (= 1 (:count result)))
(is (= 0 (:start result)))
(is (= 1 (count (:data result))))))
(let [{:strs [test-client-id]} (setup-test-data [(test-transaction :transaction/description-original "hi")])]
(testing "It should find all transactions"
(let [result (:transaction-page (:data (sut/query (admin-token) "{ transaction_page(filters: {}) { count, start, data { id } }}" {:clients [{:db/id test-client-id}]})))]
(is (= 1 (:count result)))
(is (= 0 (:start result)))
(is (= 1 (count (:data result))))))
(testing "Users should not see transactions they don't own"
(let [result (:transaction-page (:data (sut/query (user-token) "{ transaction_page(filters: {client_id: null}) { count, start, data { id } }}")))]
(is (= 0 (:count result)))
(is (= 0 (:start result)))
(is (= 0 (count (:data result))))))))
(testing "Users should not see transactions they don't own"
(let [result (:transaction-page (:data (sut/query (user-token) "{ transaction_page(filters: {}) { count, start, data { id } }}" {:clients []})))]
(is (= 0 (:count result)))
(is (= 0 (:start result)))
(is (= 0 (count (:data result)))))))))
(deftest invoice-page
@@ -52,13 +50,13 @@
(new-invoice {:invoice/client "client"
:invoice/status :invoice-status/paid})])
(testing "It should find all invoices"
(let [result (first (:invoice-page (:data (sut/query (admin-token) "{ invoice_page(filters: {client_id: null, status:paid}) { count, start, invoices { id } }}"))))]
(let [result (first (:invoice-page (:data (sut/query (admin-token) "{ invoice_page(filters: { status:paid}) { count, start, invoices { id } }}"))))]
(is (= 1 (:count result)))
(is (= 0 (:start result)))
(is (= 1 (count (:invoices result))))))
(testing "Users should not see transactions they don't own"
(let [result (first (:invoice-page (:data (sut/query (user-token) "{ invoice_page(filters: {client_id: null}) { count, start, invoices { id } }}"))))]
(let [result (first (:invoice-page (:data (sut/query (user-token) "{ invoice_page(filters: {}) { count, start, invoices { id } }}"))))]
(is (= 0 (:count result)))
(is (= 0 (:start result)))
(is (= 0 (count (:data result))))))))

View File

@@ -53,29 +53,29 @@
:paid_to "Someone",
:_payment [],
:check_number 1000}],
(map #(dissoc % :date) (:payments (first (sut/get-payment-page {:id (admin-token)} {} nil))))))
(map #(dissoc % :date) (:payments (first (sut/get-payment-page {:clients [{:db/id client-id}]} {} nil))))))
(testing "Should omit clients that can't be seen"
(is (not (seq (:payments (first (sut/get-payment-page {:id (user-token -1)} {} nil))))))
(is (not (seq (:payments (first (sut/get-payment-page {:id (user-token -1)} {:filters {:client_id client-id}} nil)))))))
(is (not (seq (:payments (first (sut/get-payment-page {:clients nil} {} nil))))))
(is (not (seq (:payments (first (sut/get-payment-page {:clients []} {:filters {:client_id client-id}} nil)))))))
(testing "Should include clients that can be seen"
(is (-> (sut/get-payment-page {:id (user-token client-id)} {} nil)
(is (-> (sut/get-payment-page {:clients [{:db/id client-id}]} {} nil)
first
:payments
seq)))
(testing "Should filter to date ranges"
(is (-> (sut/get-payment-page {:id (user-token client-id)} {:filters {:date_range {:start #inst "2000-01-01"}}} nil)
(is (-> (sut/get-payment-page {:clients [{:db/id client-id}]} {:filters {:date_range {:start #inst "2000-01-01"}}} nil)
first
:payments
seq))
(is (-> (sut/get-payment-page {:id (user-token client-id)} {:filters {:date_range {:start #inst "2022-01-01"}}} nil)
(is (-> (sut/get-payment-page {:clients [{:db/id client-id}]} {:filters {:date_range {:start #inst "2022-01-01"}}} nil)
first
:payments
seq))
(is (not (-> (sut/get-payment-page {:id (user-token client-id)} {:filters {:date_range {:start #inst "2022-01-02"}}} nil)
(is (not (-> (sut/get-payment-page {:clients [{:db/id client-id}]} {:filters {:date_range {:start #inst "2022-01-02"}}} nil)
first
:payments
seq)))
(is (-> (sut/get-payment-page {:id (user-token client-id)} {:filters {:date_range {:end #inst "2022-01-02"}}} nil)
(is (-> (sut/get-payment-page {:clients [{:db/id client-id}]} {:filters {:date_range {:end #inst "2022-01-02"}}} nil)
first
:payments
seq))))
@@ -307,7 +307,8 @@
(deftest get-potential-payments
(testing "should match payments for a transaction"
(let [{:strs [transaction-id
payment-id]} (setup-test-data [(test-payment
payment-id
test-client-id]} (setup-test-data [(test-payment
:db/id "payment-id"
:payment/status :payment-status/pending
:payment/amount 100.0
@@ -316,7 +317,7 @@
:db/id "transaction-id"
:transaction/amount -100.0
:transaction/date #inst "2021-06-01")])]
(is (= [payment-id] (->> (sut/get-potential-payments {:id (admin-token)}
(is (= [payment-id] (->> (sut/get-potential-payments {:id (admin-token) :clients [{:db/id test-client-id}]}
{:transaction_id transaction-id}
nil)
(map :id))))))

View File

@@ -162,7 +162,7 @@
:invoice/status :invoice-status/unpaid)
(test-account :db/id "new-account-id")])]
(is (some? (sut/void-invoices {:id (admin-token)}
(is (some? (sut/void-invoices {:id (admin-token) :clients [{:db/id test-client-id}]}
{:filters {:client_id test-client-id}}
nil)))
(is (= :invoice-status/voided