test: assert migration execution order

This commit is contained in:
Bastian Wagner
2026-08-18 19:17:57 +02:00
parent 21f701e904
commit a97152cded

View File

@@ -100,6 +100,69 @@ describe('visible vertical slice schema', () => {
const upQueries = query.mock.calls.map(([sql]) => sql as string); const upQueries = query.mock.calls.map(([sql]) => sql as string);
expect(upQueries).toHaveLength(14); expect(upQueries).toHaveLength(14);
expect(
upQueries.map((sql) => {
if (sql.includes('CREATE TABLE "location_definitions"')) {
return 'create location definitions';
}
if (sql.includes('IDX_location_definitions_key')) {
return 'create location key index';
}
if (sql.includes('CREATE TABLE "characters"')) {
return 'create characters';
}
if (sql.includes('IDX_characters_current_location')) {
return 'create character location index';
}
if (sql.includes('CREATE TABLE "location_connections"')) {
return 'create location connections';
}
if (sql.includes('IDX_location_connection_direction')) {
return 'create connection direction index';
}
if (sql.includes('IDX_location_connections_from_location')) {
return 'create connection origin index';
}
if (sql.includes('IDX_location_connections_to_location')) {
return 'create connection target index';
}
if (sql.includes('CREATE TYPE "travel_status_enum"')) {
return 'create travel status enum';
}
if (sql.includes('CREATE TABLE "travels"')) {
return 'create travels';
}
if (sql.includes('IDX_travels_character')) {
return 'create travel character index';
}
if (sql.includes('IDX_travels_origin_location')) {
return 'create travel origin index';
}
if (sql.includes('IDX_travels_target_location')) {
return 'create travel target index';
}
if (sql.includes('IDX_active_travel_per_character')) {
return 'create active travel index';
}
return 'unexpected query';
}),
).toEqual([
'create location definitions',
'create location key index',
'create characters',
'create character location index',
'create location connections',
'create connection direction index',
'create connection origin index',
'create connection target index',
'create travel status enum',
'create travels',
'create travel character index',
'create travel origin index',
'create travel target index',
'create active travel index',
]);
expect(upQueries).toEqual( expect(upQueries).toEqual(
expect.arrayContaining([ expect.arrayContaining([
expect.stringContaining('CREATE TABLE "location_definitions"'), expect.stringContaining('CREATE TABLE "location_definitions"'),