mirror of
https://github.com/we-promise/sure.git
synced 2026-08-04 16:12:14 +00:00
Add test coverage for category hierarchy and account search
Model-level:
- Category::GroupTest (new): for() grouping and the new select_options
helper (order + indent labels).
- CategoryTest: alphabetically_by_hierarchy scope ordering.
- Rule::ConditionFilter::TransactionCategoryTest (new)
- Rule::ActionExecutor::SetTransactionCategoryTest (new)
- Import::CategoryMappingTest (new): grouping + 'Add as new category'
still prepends correctly.
Controller/integration-level (asserting actual rendered HTML order):
- SplitsControllerTest: category combobox data-value ordering.
- Transactions::CategorizesControllerTest: bulk-categorize <select>
option ordering.
- TransactionsControllerTest:
- search filter checkbox ordering (q[categories][])
- new-transaction DS::Select category ordering (via trigger id +
ancestor traversal)
- new-transaction account select renders a search box
All new/modified test files verified with 'ruby -c' (syntax) and
cross-checked fixture names, family scoping, route helpers, and field
names against the actual fixtures/routes/views. Ruby/Bundler network
access to rubygems.org is unavailable in this sandbox, so the suite
itself has not been executed — run 'bin/rails test' before merging.
This commit is contained in:
@@ -17,6 +17,21 @@ class SplitsControllerTest < ActionDispatch::IntegrationTest
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
test "new groups subcategories immediately after their parent in the category selector" do
|
||||
get new_transaction_split_path(@entry)
|
||||
assert_response :success
|
||||
|
||||
doc = Nokogiri::HTML::Document.parse(response.body)
|
||||
category_values = doc.css(".category-select-container [data-value]").map { |node| node["data-value"] }
|
||||
|
||||
parent_index = category_values.index(categories(:food_and_drink).id)
|
||||
child_index = category_values.index(categories(:subcategory).id)
|
||||
|
||||
assert_not_nil parent_index
|
||||
assert_not_nil child_index
|
||||
assert_equal parent_index + 1, child_index
|
||||
end
|
||||
|
||||
test "create with valid params splits transaction" do
|
||||
assert_difference "Entry.count", 2 do
|
||||
post transaction_split_path(@entry), params: {
|
||||
|
||||
Reference in New Issue
Block a user