test: assert migration execution order
This commit is contained in:
@@ -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"'),
|
||||||
|
|||||||
Reference in New Issue
Block a user