Updating migration test case to check both env vars.

This commit is contained in:
mike12345567 2024-07-03 15:16:13 +01:00
parent de9462403c
commit c159ebba1f
1 changed files with 60 additions and 55 deletions

View File

@ -66,16 +66,21 @@ function oldLinkDocument(): Omit<LinkDocument, "tableId"> {
}
}
async function sqsDisabled(cb: () => Promise<void>) {
await config.withEnv({ SQS_MIGRATION_ENABLE: "" }, cb)
type SQSEnvVar = "SQS_MIGRATION_ENABLE" | "SQS_SEARCH_ENABLE"
async function sqsDisabled(envVar: SQSEnvVar, cb: () => Promise<void>) {
await config.withEnv({ [envVar]: "" }, cb)
}
async function sqsEnabled(cb: () => Promise<void>) {
await config.withEnv({ SQS_MIGRATION_ENABLE: "1" }, cb)
async function sqsEnabled(envVar: SQSEnvVar, cb: () => Promise<void>) {
await config.withEnv({ [envVar]: "1" }, cb)
}
beforeAll(async () => {
await sqsDisabled(async () => {
describe.each(["SQS_MIGRATION_ENABLE", "SQS_SEARCH_ENABLE"] as SQSEnvVar[])(
"SQS migration with (%s)",
envVar => {
beforeAll(async () => {
await sqsDisabled(envVar, async () => {
await config.init()
const table = await config.api.table.save(basicTable())
tableId = table._id!
@ -83,13 +88,12 @@ beforeAll(async () => {
// old link document
await db.put(oldLinkDocument())
})
})
})
describe("SQS migration", () => {
it("test migration runs as expected against an older DB", async () => {
const db = dbCore.getDB(config.appId!)
// confirm nothing exists initially
await sqsDisabled(async () => {
await sqsDisabled(envVar, async () => {
let error: any | undefined
try {
await db.get(SQLITE_DESIGN_DOC_ID)
@ -99,7 +103,7 @@ describe("SQS migration", () => {
expect(error).toBeDefined()
expect(error.status).toBe(404)
})
await sqsEnabled(async () => {
await sqsEnabled(envVar, async () => {
await processMigrations(config.appId!, MIGRATIONS)
const designDoc = await db.get<SQLiteDefinition>(SQLITE_DESIGN_DOC_ID)
expect(designDoc.sql.tables).toBeDefined()
@ -126,4 +130,5 @@ describe("SQS migration", () => {
expect(linkDoc.doc2.rowId).toEqual(rowId1)
})
})
})
}
)