Make categories global (#1160)

* Make categories global

This solves us A LOT of cash flow and budgeting problems.

* Update schema.rb

* Update auto_categorizer.rb

* Update income_statement.rb

* FIX budget sub-categories

* FIX sub-categories and tests

* Add 2 step migration
This commit is contained in:
soky srm
2026-03-11 15:54:01 +01:00
committed by GitHub
parent 7ae9077935
commit e1ff6d46ee
54 changed files with 393 additions and 313 deletions

View File

@@ -118,8 +118,7 @@ class ReportsControllerTest < ActionDispatch::IntegrationTest
test "spending patterns returns data when expense transactions exist" do
# Create expense category
expense_category = @family.categories.create!(
name: "Test Groceries",
classification: "expense"
name: "Test Groceries"
)
# Create account
@@ -228,9 +227,9 @@ class ReportsControllerTest < ActionDispatch::IntegrationTest
test "index groups transactions by parent and subcategories" do
# Create parent category with subcategories
parent_category = @family.categories.create!(name: "Entertainment", classification: "expense", color: "#FF5733")
subcategory_movies = @family.categories.create!(name: "Movies", classification: "expense", parent: parent_category, color: "#33FF57")
subcategory_games = @family.categories.create!(name: "Games", classification: "expense", parent: parent_category, color: "#5733FF")
parent_category = @family.categories.create!(name: "Entertainment", color: "#FF5733")
subcategory_movies = @family.categories.create!(name: "Movies", parent: parent_category, color: "#33FF57")
subcategory_games = @family.categories.create!(name: "Games", parent: parent_category, color: "#5733FF")
# Create transactions using helper
create_transaction(account: @family.accounts.first, name: "Cinema ticket", amount: 15, category: subcategory_movies)