diff --git a/apps/api/src/database/migrations/visible-vertical-slice.migration.spec.ts b/apps/api/src/database/migrations/visible-vertical-slice.migration.spec.ts index af2c793..5206e71 100644 --- a/apps/api/src/database/migrations/visible-vertical-slice.migration.spec.ts +++ b/apps/api/src/database/migrations/visible-vertical-slice.migration.spec.ts @@ -100,6 +100,69 @@ describe('visible vertical slice schema', () => { const upQueries = query.mock.calls.map(([sql]) => sql as string); 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.arrayContaining([ expect.stringContaining('CREATE TABLE "location_definitions"'),