feat(tests): implement integration and unit tests for auth, company, and ledger behaviors
- 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
This commit is contained in:
@@ -77,7 +77,7 @@
|
||||
:expense_accounts [{:amount 100.0
|
||||
:location "DT"
|
||||
:account_id new-account-id}]}}
|
||||
nil)))
|
||||
nil)))
|
||||
(is (= #:invoice{:invoice-number "890213"
|
||||
:date #inst "2023-01-01T00:00:00.000-00:00"
|
||||
:total 100.0
|
||||
@@ -118,11 +118,11 @@
|
||||
(setup-test-data [(test-invoice :db/id "invoice-id")
|
||||
(test-account :db/id "new-account-id")])]
|
||||
(is (some? (sut/edit-expense-accounts {:id (admin-token)}
|
||||
{:invoice_id invoice-id
|
||||
:expense_accounts [{:amount 100.0
|
||||
:account_id new-account-id
|
||||
:location "DT"}]}
|
||||
nil)))
|
||||
{:invoice_id invoice-id
|
||||
:expense_accounts [{:amount 100.0
|
||||
:account_id new-account-id
|
||||
:location "DT"}]}
|
||||
nil)))
|
||||
(is (= [#:invoice-expense-account{:amount 100.0
|
||||
:location "DT"
|
||||
:account {:db/id new-account-id}}]
|
||||
@@ -145,7 +145,7 @@
|
||||
:accounts [{:percentage 1.0
|
||||
:account_id new-account-id
|
||||
:location "Shared"}]}
|
||||
nil)))
|
||||
nil)))
|
||||
(is (= [#:invoice-expense-account{:amount 100.0
|
||||
:location "DT"
|
||||
:account {:db/id new-account-id}}]
|
||||
@@ -163,35 +163,7 @@
|
||||
(test-account :db/id "new-account-id")])]
|
||||
|
||||
(is (some? (sut/void-invoices {:id (admin-token) :clients [{:db/id test-client-id}]}
|
||||
{:filters {:client_id test-client-id}}
|
||||
nil)))
|
||||
(is (= :invoice-status/voided
|
||||
(-> (d/pull (d/db conn) [{:invoice/status [:db/ident]}]
|
||||
invoice-id)
|
||||
:invoice/status
|
||||
:db/ident)))
|
||||
|
||||
(testing "Should unvoid invoice"
|
||||
(is (some? (sut/unvoid-invoice {:id (admin-token)}
|
||||
{:invoice_id invoice-id}
|
||||
nil)))
|
||||
(is (= :invoice-status/unpaid
|
||||
(-> (d/pull (d/db conn) [{:invoice/status [:db/ident]}]
|
||||
invoice-id)
|
||||
:invoice/status
|
||||
:db/ident)))))))
|
||||
|
||||
|
||||
(deftest void-invoice
|
||||
(testing "It should voide invoices in bulk"
|
||||
(let [{:strs [invoice-id]}
|
||||
(setup-test-data [(test-invoice :db/id "invoice-id"
|
||||
:invoice/status :invoice-status/unpaid)
|
||||
(test-account :db/id "new-account-id")])]
|
||||
|
||||
|
||||
(is (some? (sut/void-invoice {:id (admin-token)}
|
||||
{:invoice_id invoice-id}
|
||||
{:filters {:client_id test-client-id}}
|
||||
nil)))
|
||||
(is (= :invoice-status/voided
|
||||
(-> (d/pull (d/db conn) [{:invoice/status [:db/ident]}]
|
||||
@@ -201,8 +173,34 @@
|
||||
|
||||
(testing "Should unvoid invoice"
|
||||
(is (some? (sut/unvoid-invoice {:id (admin-token)}
|
||||
{:invoice_id invoice-id}
|
||||
nil)))
|
||||
{:invoice_id invoice-id}
|
||||
nil)))
|
||||
(is (= :invoice-status/unpaid
|
||||
(-> (d/pull (d/db conn) [{:invoice/status [:db/ident]}]
|
||||
invoice-id)
|
||||
:invoice/status
|
||||
:db/ident)))))))
|
||||
|
||||
(deftest void-invoice
|
||||
(testing "It should voide invoices in bulk"
|
||||
(let [{:strs [invoice-id]}
|
||||
(setup-test-data [(test-invoice :db/id "invoice-id"
|
||||
:invoice/status :invoice-status/unpaid)
|
||||
(test-account :db/id "new-account-id")])]
|
||||
|
||||
(is (some? (sut/void-invoice {:id (admin-token)}
|
||||
{:invoice_id invoice-id}
|
||||
nil)))
|
||||
(is (= :invoice-status/voided
|
||||
(-> (d/pull (d/db conn) [{:invoice/status [:db/ident]}]
|
||||
invoice-id)
|
||||
:invoice/status
|
||||
:db/ident)))
|
||||
|
||||
(testing "Should unvoid invoice"
|
||||
(is (some? (sut/unvoid-invoice {:id (admin-token)}
|
||||
{:invoice_id invoice-id}
|
||||
nil)))
|
||||
(is (= :invoice-status/unpaid
|
||||
(-> (d/pull (d/db conn) [{:invoice/status [:db/ident]}]
|
||||
invoice-id)
|
||||
|
||||
Reference in New Issue
Block a user