First step in coding sales.
This commit is contained in:
@@ -171,6 +171,17 @@
|
||||
:expected-deposit/status :expected-deposit-status/cleared}
|
||||
(:transaction/expected-deposit transaction-result)))))
|
||||
|
||||
(t/testing "Should credit CCP"
|
||||
(let [[transaction-result] (sut/transaction->txs (assoc base-transaction
|
||||
:transaction/date #inst "2021-07-03T00:00:00-08:00"
|
||||
:transaction/amount 100.0)
|
||||
(d/entity (d/db conn) bank-account-id)
|
||||
noop-rule)]
|
||||
(t/is (= [{:transaction-account/account :account/ccp
|
||||
:transaction-account/amount 100.0
|
||||
:transaction-account/location "A"}]
|
||||
(:transaction/accounts transaction-result)))))
|
||||
|
||||
(t/testing "Should not match old expected deposits"
|
||||
(let [[transaction-result] (sut/transaction->txs (assoc base-transaction
|
||||
:transaction/date #inst "2021-07-13"
|
||||
|
||||
56
test/clj/auto_ap/ledger_test.clj
Normal file
56
test/clj/auto_ap/ledger_test.clj
Normal file
@@ -0,0 +1,56 @@
|
||||
(ns auto-ap.ledger-test
|
||||
(:require [auto-ap.datomic :refer [conn uri]]
|
||||
[auto-ap.datomic.migrate :as m]
|
||||
[auto-ap.ledger :as sut]
|
||||
[clojure.test :as t]
|
||||
[datomic.api :as d]))
|
||||
|
||||
(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))))
|
||||
|
||||
(t/use-fixtures :each wrap-setup)
|
||||
|
||||
|
||||
(t/deftest entity-change->ledger
|
||||
(t/testing "Should code an expected deposit"
|
||||
(let [{:strs [ed ccp receipts-split client]}
|
||||
(:tempids @(d/transact conn [#:expected-deposit {:status :expected-deposit-status/pending
|
||||
:client {:db/id "client"
|
||||
:client/code "BRYCE"
|
||||
:client/locations ["M"]}
|
||||
:total 4.0
|
||||
:fee 1.0
|
||||
:date #inst "2021-01-01T00:00:00-08:00"
|
||||
:location "M"
|
||||
:db/id "ed"}]))
|
||||
result (sut/entity-change->ledger (d/db conn) [:expected-deposit ed])]
|
||||
(t/is (= #:journal-entry
|
||||
{:source "expected-deposit"
|
||||
:client {:db/id client}
|
||||
:date #inst "2021-01-01T00:00:00-08:00"
|
||||
:original-entity ed
|
||||
:vendor :vendor/ccp-square
|
||||
:amount 4.0
|
||||
}
|
||||
(dissoc result :journal-entry/line-items)))
|
||||
|
||||
(t/testing "should debit ccp"
|
||||
(t/is (= [#:journal-entry-line
|
||||
{:debit 4.0
|
||||
:location "A"
|
||||
:account :account/ccp}]
|
||||
(filter :journal-entry-line/debit (:journal-entry/line-items result))))
|
||||
)
|
||||
(t/testing "should credit receipts split ccp"
|
||||
(t/is (= [#:journal-entry-line
|
||||
{:credit 4.0
|
||||
:location "A"
|
||||
:account :account/receipts-split}]
|
||||
(filter :journal-entry-line/credit (:journal-entry/line-items result))))))))
|
||||
Reference in New Issue
Block a user