- Auth: 30 tests (97 assertions) covering OAuth, sessions, JWT, impersonation, roles - Company: 35 tests (92 assertions) covering profile, 1099, expense reports, permissions - Ledger: 113 tests (148 assertions) covering grid, journal entries, import, reports - Fix existing test failures in running_balance, insights, tx, plaid, graphql - Fix InMemSolrClient to handle Solr query syntax properly - Update behavior docs: auth (42 done), company (32 done), ledger (120 done) - All 478 tests pass with 0 failures, 0 errors
31 lines
1.7 KiB
Clojure
31 lines
1.7 KiB
Clojure
(ns auto-ap.import.yodlee-test
|
|
(:require [auto-ap.import.yodlee2 :as sut]
|
|
[clojure.test :as t]))
|
|
|
|
(def base-transaction {:postDate "2014-01-04"
|
|
:accountId 1234
|
|
:date "2014-01-02"
|
|
:id 1
|
|
:amount {:amount 12.0}
|
|
:description {:original "original-description"
|
|
:simple "simple-description"}
|
|
:merchant {:id "123"
|
|
:name "456"}
|
|
:baseType "DEBIT"
|
|
:status "POSTED"})
|
|
|
|
(t/deftest yodlee->transaction
|
|
(t/testing "Should parse dates"
|
|
(t/is (= #inst "2021-01-01T00:00:00-08:00" (:transaction/date (sut/yodlee->transaction (assoc base-transaction :date "2021-01-01") false))))
|
|
(t/is (= #inst "2021-06-01T00:00:00-07:00" (:transaction/date (sut/yodlee->transaction (assoc base-transaction :date "2021-06-01") false)))))
|
|
|
|
(t/testing "Should invert amount for debits"
|
|
(t/is (= -12.0 (:transaction/amount (sut/yodlee->transaction (assoc base-transaction
|
|
:amount {:amount 12.0}
|
|
:baseType "DEBIT")
|
|
false))))
|
|
(t/is (= 12.0 (:transaction/amount (sut/yodlee->transaction (assoc base-transaction
|
|
:amount {:amount 12.0}
|
|
:baseType "CREDIT")
|
|
false))))))
|