diff --git a/src/clj/auto_ap/yodlee/import.clj b/src/clj/auto_ap/yodlee/import.clj index 3e8d3a45..9358e935 100644 --- a/src/clj/auto_ap/yodlee/import.clj +++ b/src/clj/auto_ap/yodlee/import.clj @@ -133,7 +133,10 @@ (fn [transaction] (let [matching-rules (filter #(rule-applies? transaction %) rules)] (if-let [top-match (first matching-rules)] - (assoc transaction :transaction/approval-status (:transaction-rule/transaction-approval-status (first matching-rules))) + (assoc transaction + :transaction/approval-status (:transaction-rule/transaction-approval-status top-match) + :transaction/vendor (:db/id (:transaction-rule/vendor top-match)) + ) transaction))))) (defn manual-import [manual-transactions] diff --git a/test/clj/auto_ap/yodlee/import.clj b/test/clj/auto_ap/yodlee/import.clj index 87d94dd2..f3b1d8c5 100644 --- a/test/clj/auto_ap/yodlee/import.clj +++ b/test/clj/auto_ap/yodlee/import.clj @@ -147,15 +147,17 @@ :transaction-rule/transaction-approval-status :transaction-approval-status/requires-feedback :transaction-rule/vendor {:db/id 456}}])] (t/is (= {:transaction/description-original "Hello XXX039", + :transaction/vendor 123 :transaction/approval-status :transaction-approval-status/approved} - (-> {:transaction/description-original "Hello XXX039"} apply-rules))) + (t/is (= {:transaction/description-original "OtherMatch", - :transaction/approval-status :transaction-approval-status/requires-feedback} + :transaction/approval-status :transaction-approval-status/requires-feedback + :transaction/vendor 456} (-> {:transaction/description-original "OtherMatch"} apply-rules))) + (t/is (= {:transaction/description-original "Hello Not match"} (-> {:transaction/description-original "Hello Not match"} - apply-rules - )))))))) + apply-rules))))))))