Test db ppopulate (#19)
Tests / test (push) Successful in 10s
Tests / lint (push) Successful in 10s

Reviewed-on: #19
Co-authored-by: Mathias <mathias2784@web.de>
This commit was merged in pull request #19.
This commit is contained in:
2026-10-16 06:51:57 +00:00
committed by mathias2784
parent 6d98939024
commit 4efef98c9c
2 changed files with 102 additions and 2 deletions
+23
View File
@@ -0,0 +1,23 @@
from datetime import date
import faker
from src.models.b4w import B4wDb
def test_b4w_populate(populated_db_b4w):
val_dt_min, val_dt_max = date(2026, 1, 1), date(2026, 3, 31)
session = populated_db_b4w(
"b4w_basic",
100,
ValDt=lambda: faker.Faker().date_between(val_dt_min, val_dt_max),
)
assert session
assert session.query(B4wDb).count() == 100
# ``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()]
assert all(val_dt_min <= d <= val_dt_max for d in dates)
# ``Id1`` is assigned per row: one distinct row per id, no dedup collisions.
ids = [i for (i,) in session.query(B4wDb.id_b4w).order_by(B4wDb.id_b4w).all()]
assert ids == list(range(1, 101))