Bulk coding works on multiple clients
This commit is contained in:
@@ -123,6 +123,7 @@
|
||||
|
||||
(let [transaction-result (sut/transaction->txs (assoc base-transaction
|
||||
:transaction/description-original "CHECK 10001"
|
||||
:transaction/check-number 10001
|
||||
:transaction/amount -30.0)
|
||||
(dc/pull (dc/db conn ) sut/bank-account-pull bank-account-id)
|
||||
noop-rule)]
|
||||
|
||||
@@ -48,7 +48,8 @@
|
||||
:transaction/approval-status :transaction-approval-status/approved
|
||||
:transaction/bank-account "test-bank-account-id")])]
|
||||
(is (= "Succesfully changed 1 transactions to be unapproved."
|
||||
(:message (sut/bulk-change-status {:id (admin-token)} {:filters {:client_id test-client-id}
|
||||
(:message (sut/bulk-change-status {:id (admin-token)
|
||||
:clients [{:db/id test-client-id}]} {:filters {}
|
||||
:status :unapproved} nil))))
|
||||
(is (= :transaction-approval-status/unapproved
|
||||
(:db/ident (:transaction/approval-status (dc/pull (dc/db conn) '[{:transaction/approval-status [:db/ident]}] transaction-id)))))
|
||||
@@ -68,9 +69,9 @@
|
||||
:transaction/bank-account "test-bank-account-id"
|
||||
:transaction/amount 40.0)])]
|
||||
(is (= "Successfully coded 1 transactions."
|
||||
(:message (sut/bulk-code-transactions {:id (admin-token)}
|
||||
(:message (sut/bulk-code-transactions {:id (admin-token)
|
||||
:clients [{:db/id test-client-id}]}
|
||||
{:filters {:client_id test-client-id}
|
||||
:client_id test-client-id
|
||||
:vendor test-vendor-id
|
||||
:approval_status :unapproved
|
||||
:accounts [{:account_id test-account-id
|
||||
@@ -87,16 +88,111 @@
|
||||
:transaction/accounts [:transaction-account/account
|
||||
:transaction-account/location
|
||||
:transaction-account/amount]}]
|
||||
transaction-id))))))
|
||||
transaction-id)))
|
||||
|
||||
(testing "for more than one client"
|
||||
(let [{:strs [transaction-id-1
|
||||
transaction-id-2
|
||||
test-client-id-2
|
||||
test-client-id]} (setup-test-data [
|
||||
(test-transaction :db/id "transaction-id-1"
|
||||
:transaction/client "test-client-id"
|
||||
:transaction/bank-account "test-bank-account-id"
|
||||
:transaction/amount 40.0)
|
||||
(test-transaction :db/id "transaction-id-2"
|
||||
:transaction/client "test-client-id-2"
|
||||
:transaction/bank-account "test-bank-account-id-2"
|
||||
:transaction/amount 40.0)
|
||||
(test-client :db/id "test-client-id-2"
|
||||
:client/locations ["GR"])
|
||||
(test-bank-account :db/id "test-bank-account-id-2")])]
|
||||
(is (= "Successfully coded 2 transactions."
|
||||
(:message (sut/bulk-code-transactions {:id (admin-token)
|
||||
:clients [{:db/id test-client-id}
|
||||
{:db/id test-client-id-2}]}
|
||||
{:filters {}
|
||||
:vendor test-vendor-id
|
||||
:approval_status :unapproved
|
||||
:accounts [{:account_id test-account-id
|
||||
:location "Shared"
|
||||
:percentage 1.0}]} nil))))
|
||||
|
||||
(is (= #:transaction{:vendor {:db/id test-vendor-id}
|
||||
:approval-status {:db/ident :transaction-approval-status/unapproved}
|
||||
:accounts [#:transaction-account{:account {:db/id test-account-id}
|
||||
:location "DT"
|
||||
:amount 40.0}]}
|
||||
(dc/pull (dc/db conn) '[:transaction/vendor
|
||||
{:transaction/approval-status [:db/ident]
|
||||
:transaction/accounts [:transaction-account/account
|
||||
:transaction-account/location
|
||||
:transaction-account/amount]}]
|
||||
transaction-id-1)))
|
||||
|
||||
(is (= #:transaction{:vendor {:db/id test-vendor-id}
|
||||
:approval-status {:db/ident :transaction-approval-status/unapproved}
|
||||
:accounts [#:transaction-account{:account {:db/id test-account-id}
|
||||
:location "GR"
|
||||
:amount 40.0}]}
|
||||
(dc/pull (dc/db conn) '[:transaction/vendor
|
||||
{:transaction/approval-status [:db/ident]
|
||||
:transaction/accounts [:transaction-account/account
|
||||
:transaction-account/location
|
||||
:transaction-account/amount]}]
|
||||
transaction-id-2))))
|
||||
|
||||
(testing "should reject a location that doesnt exist"
|
||||
(let [{:strs [test-client-id-1
|
||||
test-client-id-2]} (setup-test-data [
|
||||
(test-transaction :db/id "transaction-id-1"
|
||||
:transaction/client "test-client-id-1"
|
||||
:transaction/bank-account "test-bank-account-id"
|
||||
:transaction/amount 40.0)
|
||||
(test-transaction :db/id "transaction-id-2"
|
||||
:transaction/client "test-client-id-2"
|
||||
:transaction/bank-account "test-bank-account-id-2"
|
||||
:transaction/amount 40.0)
|
||||
(test-client :db/id "test-client-id-1"
|
||||
:client/locations ["DT" "BOTH"])
|
||||
(test-client :db/id "test-client-id-2"
|
||||
:client/locations ["GR" "BOTH"])
|
||||
(test-bank-account :db/id "test-bank-account-id-2")])]
|
||||
(is (thrown? Exception (sut/bulk-code-transactions {:id (admin-token)
|
||||
:clients [{:db/id test-client-id}
|
||||
{:db/id test-client-id-2}]}
|
||||
{:filters {}
|
||||
:vendor test-vendor-id
|
||||
:approval_status :unapproved
|
||||
:accounts [{:account_id test-account-id
|
||||
:location "OG"
|
||||
:percentage 1.0}]} nil)))
|
||||
(is (thrown? Exception (sut/bulk-code-transactions {:id (admin-token)
|
||||
:clients [{:db/id test-client-id}
|
||||
{:db/id test-client-id-2}]}
|
||||
{:filters {}
|
||||
:vendor test-vendor-id
|
||||
:approval_status :unapproved
|
||||
:accounts [{:account_id test-account-id
|
||||
:location "DT"
|
||||
:percentage 1.0}]} nil)))
|
||||
(is (sut/bulk-code-transactions {:id (admin-token)
|
||||
:clients [{:db/id test-client-id-1}
|
||||
{:db/id test-client-id-2}]}
|
||||
{:filters {}
|
||||
:vendor test-vendor-id
|
||||
:approval_status :unapproved
|
||||
:accounts [{:account_id test-account-id
|
||||
:location "BOTH"
|
||||
:percentage 1.0}]} nil))))))))
|
||||
|
||||
(deftest edit-transactions
|
||||
(testing "Should edit transactions"
|
||||
(let [{:strs [transaction-id
|
||||
test-account-id
|
||||
test-vendor-id]} (setup-test-data [(test-transaction :db/id "transaction-id"
|
||||
:transaction/client "test-client-id"
|
||||
:transaction/bank-account "test-bank-account-id"
|
||||
:transaction/amount 40.0)])]
|
||||
:transaction/client "test-client-id"
|
||||
:transaction/bank-account "test-bank-account-id"
|
||||
:transaction/amount 40.0)])]
|
||||
(sut/edit-transaction {:id (admin-token)}
|
||||
{:transaction {:id transaction-id
|
||||
:vendor_id test-vendor-id
|
||||
|
||||
Reference in New Issue
Block a user