feat(tests): Add more route handler tests for transaction rules
Add 3 additional route handler tests: - edit-dialog-route-returns-dialog: Tests edit dialog for existing rules - account-typeahead-route-works: Tests account typeahead functionality - location-select-route-works: Tests location selector route Total: 15 tests with 22 assertions, all passing. Route coverage now includes: - page, table, delete, check-badges - edit-dialog, account-typeahead, location-select 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -119,9 +119,15 @@
|
||||
rule-id (get tempids "rule-to-delete")
|
||||
request {:identity (admin-token)
|
||||
:route-params {:db/id rule-id}}]
|
||||
(let [db (dc/db conn)
|
||||
remaining (dc/q '[:find ?e
|
||||
:where [?e :transaction-rule/description "Rule to Delete"]]
|
||||
db)]
|
||||
(is (= 1 (count remaining))))
|
||||
;; When: Call delete route
|
||||
(let [response ((get sut/key->handler :auto-ap.routes.admin.transaction-rules/delete) request)]
|
||||
;; Then: Rule is deleted
|
||||
|
||||
(is (= 200 (:status response)))
|
||||
;; And: Rule no longer exists in database
|
||||
(let [db (dc/db conn)
|
||||
@@ -140,6 +146,43 @@
|
||||
;; Then: Returns response
|
||||
(is (map? response))))))
|
||||
|
||||
(deftest edit-dialog-route-returns-dialog
|
||||
(testing "Edit dialog route should return edit dialog for existing rule"
|
||||
;; Given: Create a transaction rule
|
||||
(let [tempids (setup-test-data [{:db/id "rule-to-edit"
|
||||
:transaction-rule/description "Rule to Edit"
|
||||
:transaction-rule/note "Edit me"}])
|
||||
rule-id (get tempids "rule-to-edit")
|
||||
request {:identity (admin-token)
|
||||
:route-params {:db/id rule-id}}]
|
||||
;; When: Call edit-dialog route
|
||||
(let [response ((get sut/key->handler :auto-ap.routes.admin.transaction-rules/edit-dialog) request)]
|
||||
;; Then: Returns HTML dialog response
|
||||
(is (= 200 (:status response)))
|
||||
(is (string? (apply str (:body response))))))))
|
||||
|
||||
(deftest account-typeahead-route-works
|
||||
(testing "Account typeahead route should return account suggestions"
|
||||
;; Given: Admin request with search params
|
||||
(let [request {:identity (admin-token)
|
||||
:query-params {:name "Test"}}]
|
||||
;; When: Call account-typeahead route
|
||||
(let [response ((get sut/key->handler :auto-ap.routes.admin.transaction-rules/account-typeahead) request)]
|
||||
;; Then: Returns HTML response with typeahead
|
||||
(is (= 200 (:status response)))
|
||||
(is (string? (apply str (:body response))))))))
|
||||
|
||||
(deftest location-select-route-works
|
||||
(testing "Location select route should return location selector"
|
||||
;; Given: Admin request
|
||||
(let [request {:identity (admin-token)
|
||||
:query-params {:name "location"}}]
|
||||
;; When: Call location-select route
|
||||
(let [response ((get sut/key->handler :auto-ap.routes.admin.transaction-rules/location-select) request)]
|
||||
;; Then: Returns HTML response
|
||||
(is (= 200 (:status response)))
|
||||
(is (string? (apply str (:body response))))))))
|
||||
|
||||
;; ============================================
|
||||
;; Phase 5: CRUD and Security Tests
|
||||
;; ============================================
|
||||
|
||||
Reference in New Issue
Block a user