added start date.
This commit is contained in:
@@ -32,7 +32,7 @@
|
||||
:merchant {:id "123"
|
||||
:name "456"}
|
||||
:baseType "DEBIT"
|
||||
:status "PENDING"
|
||||
:status "POSTED"
|
||||
|
||||
:bank-account {:db/id 456
|
||||
:client/_bank-accounts {:db/id 123
|
||||
@@ -49,14 +49,22 @@
|
||||
:post-date #inst "2014-01-04T08:00:00.000-00:00"
|
||||
:account-id 1234
|
||||
:description-original "original-description"
|
||||
:yodlee-merchant #:yodlee-merchant {:yodlee-id "123"
|
||||
:name "456"}
|
||||
:status "PENDING"
|
||||
:status "POSTED"
|
||||
:id "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"
|
||||
:approval-status :transaction-approval-status/unapproved
|
||||
:description-simple "simple-description"}]
|
||||
result))))
|
||||
|
||||
(t/testing "Should exclude a transaction before start date"
|
||||
(let [result (sut/transactions->txs [(assoc-in base-transaction
|
||||
[:bank-account :start-date]
|
||||
(clj-time.coerce/to-date-time #inst "2020-01-01"))]
|
||||
:bank-account
|
||||
noop-rule
|
||||
#{})]
|
||||
(t/is (= []
|
||||
result))))
|
||||
|
||||
(t/testing "Should not reimport an existing transaction"
|
||||
(let [result (sut/transactions->txs [base-transaction]
|
||||
:bank-account
|
||||
@@ -207,23 +215,28 @@
|
||||
:transaction-rule/transaction-approval-status :transaction-approval-status/approved
|
||||
:transaction-rule/vendor {:db/id 123}}])]
|
||||
(t/is (= 123
|
||||
(-> {:transaction/date #inst "2019-01-04T00:00:00.000-08:00"}
|
||||
(-> {:transaction/date #inst "2019-01-04T00:00:00.000-08:00"
|
||||
:transaction/amount 1.0}
|
||||
(apply-rules [])
|
||||
:transaction/matched-rule)))
|
||||
(t/is (= 123
|
||||
(-> {:transaction/date #inst "2019-01-03T00:00:00.000-08:00"}
|
||||
(-> {:transaction/date #inst "2019-01-03T00:00:00.000-08:00"
|
||||
:transaction/amount 1.0}
|
||||
(apply-rules [])
|
||||
:transaction/matched-rule)))
|
||||
(t/is (= 123
|
||||
(-> {:transaction/date #inst "2019-01-09T00:00:00.000-08:00"}
|
||||
(-> {:transaction/date #inst "2019-01-09T00:00:00.000-08:00"
|
||||
:transaction/amount 1.0}
|
||||
(apply-rules [])
|
||||
:transaction/matched-rule)))
|
||||
(t/is (nil?
|
||||
(-> {:transaction/date #inst "2019-01-01T00:00:00.000-08:00"}
|
||||
(-> {:transaction/date #inst "2019-01-01T00:00:00.000-08:00"
|
||||
:transaction/amount 1.0}
|
||||
(apply-rules [])
|
||||
:transaction/matched-rule)))
|
||||
(t/is (nil?
|
||||
(-> {:transaction/date #inst "2019-01-10T00:00:00.000-08:00"}
|
||||
(-> {:transaction/date #inst "2019-01-10T00:00:00.000-08:00"
|
||||
:transaction/amount 1.0}
|
||||
(apply-rules [])
|
||||
:transaction/matched-rule)))))
|
||||
|
||||
@@ -232,6 +245,8 @@
|
||||
:transaction-rule/amount-gte 3.0
|
||||
:transaction-rule/amount-lte 9.0
|
||||
:transaction-rule/transaction-approval-status :transaction-approval-status/approved
|
||||
:transaction-rule/accounts [#:transaction-rule-account {:percentage 1.0
|
||||
:locatoin "HQ"}]
|
||||
:transaction-rule/vendor {:db/id 123}}])]
|
||||
(t/is (= 123
|
||||
(-> {:transaction/amount 4.0}
|
||||
@@ -258,22 +273,26 @@
|
||||
(let [apply-rules (rm/rule-applying-fn [{:db/id 123
|
||||
:transaction-rule/client {:db/id 456}}])]
|
||||
(t/is (= 123
|
||||
(-> {:transaction/client 456}
|
||||
(-> {:transaction/client 456
|
||||
:transaction/amount 1.0}
|
||||
(apply-rules [])
|
||||
:transaction/matched-rule)))
|
||||
(t/is (nil?
|
||||
(-> {:transaction/client 89}
|
||||
(-> {:transaction/client 89
|
||||
:transaction/amount 1.0}
|
||||
(apply-rules [])
|
||||
:transaction/matched-rule)))))
|
||||
(t/testing "Should match if bank-account matches"
|
||||
(let [apply-rules (rm/rule-applying-fn [{:db/id 123
|
||||
:transaction-rule/bank-account {:db/id 456}}])]
|
||||
(t/is (= 123
|
||||
(-> {:transaction/bank-account 456}
|
||||
(-> {:transaction/bank-account 456
|
||||
:transaction/amount 1.0}
|
||||
(apply-rules [])
|
||||
:transaction/matched-rule)))
|
||||
(t/is (nil?
|
||||
(-> {:transaction/bank-account 89}
|
||||
(-> {:transaction/bank-account 89
|
||||
:transaction/amount 1.0}
|
||||
(apply-rules [])
|
||||
:transaction/matched-rule)))))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user