39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
from __future__ import annotations
|
|
|
|
from app.extensions import db
|
|
from app.models import Account, Category, Entry
|
|
from app.seed import seed_data
|
|
|
|
|
|
def test_seed_restores_hidden_budget_categories_with_active_entries(app):
|
|
budget_account = Account.query.filter_by(slug="gemeinschaftskonto").first()
|
|
category = Category(
|
|
account_id=budget_account.id,
|
|
name="Legacy Budget",
|
|
slug="legacy-budget",
|
|
is_active=False,
|
|
sort_order=999,
|
|
)
|
|
db.session.add(category)
|
|
db.session.flush()
|
|
db.session.add(
|
|
Entry(
|
|
category_id=category.id,
|
|
name="Legacy Eintrag",
|
|
slug="legacy-eintrag",
|
|
default_amount=0,
|
|
amount_type="fixed",
|
|
benefit_scope="all-users",
|
|
is_active=True,
|
|
sort_order=1,
|
|
)
|
|
)
|
|
db.session.commit()
|
|
|
|
seed_data()
|
|
db.session.expire_all()
|
|
|
|
restored = Category.query.filter_by(account_id=budget_account.id, slug="legacy-budget").first()
|
|
assert restored is not None
|
|
assert restored.is_active is True
|