Tech Tools section with a code generator, toner report that names the part, toner forecasting, warranty proof of cover, application uploads
This commit is contained in:
@@ -71,6 +71,8 @@ EXPECTED_HEAD_REVISION['printedparts'] = 'printedparts0004txnrev'
|
||||
# notifications indexes businessunitid, then adds the per-type grace window and
|
||||
# the shared board category.
|
||||
EXPECTED_HEAD_REVISION['notifications'] = 'notifications0005boardorder'
|
||||
# warranty adds the proof-of-cover document columns on top of its anchor.
|
||||
EXPECTED_HEAD_REVISION['warranty'] = 'warranty0002proof'
|
||||
|
||||
# Plugins built after the cutover: their 0001 baseline really creates tables the
|
||||
# core chain never owned.
|
||||
@@ -239,9 +241,21 @@ def test_upgrade_all_on_fresh_db_is_clean_and_idempotent(tmp_path, monkeypatch):
|
||||
first = app.extensions['plugin_manager'].upgrade_all_plugins()
|
||||
second = app.extensions['plugin_manager'].upgrade_all_plugins()
|
||||
|
||||
assert set(first) == set(PLUGIN_TABLE_OWNERS)
|
||||
assert all(status == 'ok' for status in first.values()), first
|
||||
assert all(status == 'ok' for status in second.values()), second
|
||||
# A plugin that owns no tables (Tech Tools: every tool is
|
||||
# client-side) carries no chain, so upgrade-all reports it
|
||||
# 'no-migrations'. Assert that explicitly rather than letting it
|
||||
# widen the 'ok' check, which would also swallow a table-owning
|
||||
# plugin whose chain silently went missing.
|
||||
schemaless = set(first) - set(PLUGIN_TABLE_OWNERS)
|
||||
for name in schemaless:
|
||||
assert first[name] == 'no-migrations', (name, first[name])
|
||||
assert second[name] == 'no-migrations', (name, second[name])
|
||||
|
||||
migrated = {name: status for name, status in first.items()
|
||||
if name in PLUGIN_TABLE_OWNERS}
|
||||
assert set(migrated) == set(PLUGIN_TABLE_OWNERS)
|
||||
assert all(status == 'ok' for status in migrated.values()), migrated
|
||||
assert all(second[name] == 'ok' for name in PLUGIN_TABLE_OWNERS), second
|
||||
|
||||
insp = inspect(db.engine)
|
||||
for plugin in PLUGIN_TABLE_OWNERS:
|
||||
|
||||
Reference in New Issue
Block a user