This commit is contained in:
@@ -184,6 +184,12 @@ class DatabaseMigrationTests(unittest.TestCase):
|
||||
system_settings_count = connection.execute(
|
||||
text("SELECT COUNT(*) FROM core_system_settings WHERE id = 'global'"),
|
||||
).scalar_one()
|
||||
default_locale = connection.execute(
|
||||
text(
|
||||
"SELECT default_locale FROM core_system_settings "
|
||||
"WHERE id = 'global'"
|
||||
),
|
||||
).scalar_one()
|
||||
current = database_migration_heads(connection)
|
||||
|
||||
self.assertEqual(
|
||||
@@ -204,6 +210,7 @@ class DatabaseMigrationTests(unittest.TestCase):
|
||||
self.assertIn("file_assets", tables)
|
||||
self.assertIn("mail_server_profiles", tables)
|
||||
self.assertEqual(system_settings_count, 1)
|
||||
self.assertEqual(default_locale, "de")
|
||||
self.assertEqual(
|
||||
role_flags,
|
||||
{"system_owner": True, "system_admin": False, "system_auditor": False},
|
||||
@@ -211,6 +218,42 @@ class DatabaseMigrationTests(unittest.TestCase):
|
||||
finally:
|
||||
engine.dispose()
|
||||
|
||||
def test_german_reference_migration_preserves_explicit_english(self) -> None:
|
||||
with tempfile.TemporaryDirectory(prefix="govoplan-locale-migration-test-") as directory:
|
||||
database = Path(directory) / "locale.db"
|
||||
url = f"sqlite:///{database}"
|
||||
config = alembic_config(database_url=url, enabled_modules=())
|
||||
command.upgrade(config, "f25c9d3e7a01")
|
||||
|
||||
engine = create_engine(url)
|
||||
try:
|
||||
with engine.begin() as connection:
|
||||
connection.execute(
|
||||
text(
|
||||
"UPDATE core_system_settings "
|
||||
"SET default_locale = 'en', "
|
||||
"updated_at = '2040-01-01 00:00:00' "
|
||||
"WHERE id = 'global'"
|
||||
)
|
||||
)
|
||||
finally:
|
||||
engine.dispose()
|
||||
|
||||
command.upgrade(config, "heads")
|
||||
|
||||
engine = create_engine(url)
|
||||
try:
|
||||
with engine.connect() as connection:
|
||||
default_locale = connection.execute(
|
||||
text(
|
||||
"SELECT default_locale FROM core_system_settings "
|
||||
"WHERE id = 'global'"
|
||||
)
|
||||
).scalar_one()
|
||||
self.assertEqual(default_locale, "en")
|
||||
finally:
|
||||
engine.dispose()
|
||||
|
||||
def test_default_module_baselines_apply_to_fresh_database(self) -> None:
|
||||
with tempfile.TemporaryDirectory(prefix="govoplan-default-baseline-test-") as directory:
|
||||
database = Path(directory) / "default.db"
|
||||
|
||||
Reference in New Issue
Block a user