Category overhaul (#20)
Tests / test (push) Successful in 16s
Tests / lint (push) Successful in 16s

Reviewed-on: #20
Co-authored-by: Mathias <mathias2784@web.de>
This commit was merged in pull request #20.
This commit is contained in:
2026-10-27 18:08:10 +00:00
committed by mathias2784
parent 4efef98c9c
commit 6babc560c7
36 changed files with 3021 additions and 176 deletions
+11
View File
@@ -1,8 +1,17 @@
from datetime import date
import faker
from sqlalchemy.orm import Session
from src.models.b4w import B4wDb
from src.models.category import CategoryDb, upsert_category
from tests.factories import CategoryFactory
def _load_initial_categories(session: Session) -> None:
for category in CategoryFactory.build_all():
upsert_category(session, category, do_commit=False)
session.commit()
def test_b4w_populate(populated_db_b4w):
@@ -10,10 +19,12 @@ def test_b4w_populate(populated_db_b4w):
session = populated_db_b4w(
"b4w_basic",
100,
setup=_load_initial_categories,
ValDt=lambda: faker.Faker().date_between(val_dt_min, val_dt_max),
)
assert session
assert session.query(B4wDb).count() == 100
assert session.query(CategoryDb).count() >= len(CategoryFactory.build_all())
# ``ValDt`` was given as a per-row callable: it must have been resolved
# and persisted for every row.
dates = [d for (d,) in session.query(B4wDb.date_valid).all()]