Add category-list factory and seed categories in B4W smoke test
This commit is contained in:
@@ -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()]
|
||||
|
||||
Reference in New Issue
Block a user