Updating context test, some minor adjustments based on getting the test working again.
This commit is contained in:
parent
c6d31a856a
commit
380ee221b1
|
@ -5,6 +5,7 @@ import {
|
||||||
getDevelopmentAppID,
|
getDevelopmentAppID,
|
||||||
getProdAppID,
|
getProdAppID,
|
||||||
baseGlobalDBName,
|
baseGlobalDBName,
|
||||||
|
getDB,
|
||||||
PouchLike,
|
PouchLike,
|
||||||
} from "../db"
|
} from "../db"
|
||||||
import { Context } from "./localStorage"
|
import { Context } from "./localStorage"
|
||||||
|
@ -185,7 +186,10 @@ export function updateAppId(appId: string) {
|
||||||
|
|
||||||
export function getGlobalDB(): PouchLike {
|
export function getGlobalDB(): PouchLike {
|
||||||
const context = Context.get()
|
const context = Context.get()
|
||||||
return new PouchLike(baseGlobalDBName(context?.tenantId))
|
if (!context || (env.MULTI_TENANCY && !context.tenantId)) {
|
||||||
|
throw new Error("Global DB not found")
|
||||||
|
}
|
||||||
|
return getDB(baseGlobalDBName(context?.tenantId))
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -194,7 +198,7 @@ export function getGlobalDB(): PouchLike {
|
||||||
*/
|
*/
|
||||||
export function getAppDB(opts?: any): PouchLike {
|
export function getAppDB(opts?: any): PouchLike {
|
||||||
const appId = getAppId()
|
const appId = getAppId()
|
||||||
return new PouchLike(appId, opts)
|
return getDB(appId, opts)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -206,7 +210,7 @@ export function getProdAppDB(opts?: any): PouchLike {
|
||||||
if (!appId) {
|
if (!appId) {
|
||||||
throw new Error("Unable to retrieve prod DB - no app ID.")
|
throw new Error("Unable to retrieve prod DB - no app ID.")
|
||||||
}
|
}
|
||||||
return new PouchLike(getProdAppID(appId), opts)
|
return getDB(getProdAppID(appId), opts)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -218,5 +222,5 @@ export function getDevAppDB(opts?: any): PouchLike {
|
||||||
if (!appId) {
|
if (!appId) {
|
||||||
throw new Error("Unable to retrieve dev DB - no app ID.")
|
throw new Error("Unable to retrieve dev DB - no app ID.")
|
||||||
}
|
}
|
||||||
return new PouchLike(getDevelopmentAppID(appId), opts)
|
return getDB(getDevelopmentAppID(appId), opts)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,10 @@
|
||||||
import "../../../tests/utilities/TestConfiguration"
|
require("../../../tests/utilities/TestConfiguration")
|
||||||
import * as context from ".."
|
const context = require("../")
|
||||||
import { DEFAULT_TENANT_ID } from "../../constants"
|
const { DEFAULT_TENANT_ID } = require("../../constants")
|
||||||
import env from "../../environment"
|
const env = require("../../environment")
|
||||||
|
const dbCore = require("../../db")
|
||||||
// must use require to spy index file exports due to known issue in jest
|
|
||||||
const dbUtils = require("../../db")
|
|
||||||
jest.spyOn(dbUtils, "closePouchDB")
|
|
||||||
jest.spyOn(dbUtils, "getDB")
|
|
||||||
|
|
||||||
describe("context", () => {
|
describe("context", () => {
|
||||||
beforeEach(() => {
|
|
||||||
jest.clearAllMocks()
|
|
||||||
})
|
|
||||||
|
|
||||||
describe("doInTenant", () => {
|
describe("doInTenant", () => {
|
||||||
describe("single-tenancy", () => {
|
describe("single-tenancy", () => {
|
||||||
it("defaults to the default tenant", () => {
|
it("defaults to the default tenant", () => {
|
||||||
|
@ -25,8 +17,6 @@ describe("context", () => {
|
||||||
const db = context.getGlobalDB()
|
const db = context.getGlobalDB()
|
||||||
expect(db.name).toBe("global-db")
|
expect(db.name).toBe("global-db")
|
||||||
})
|
})
|
||||||
expect(dbUtils.getDB).toHaveBeenCalledTimes(1)
|
|
||||||
expect(dbUtils.closePouchDB).toHaveBeenCalledTimes(1)
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -40,7 +30,7 @@ describe("context", () => {
|
||||||
let error
|
let error
|
||||||
try {
|
try {
|
||||||
context.getTenantId()
|
context.getTenantId()
|
||||||
} catch (e: any) {
|
} catch (e) {
|
||||||
error = e
|
error = e
|
||||||
}
|
}
|
||||||
expect(error.message).toBe("Tenant id not found")
|
expect(error.message).toBe("Tenant id not found")
|
||||||
|
@ -59,7 +49,7 @@ describe("context", () => {
|
||||||
let error
|
let error
|
||||||
try {
|
try {
|
||||||
context.getGlobalDB()
|
context.getGlobalDB()
|
||||||
} catch (e: any) {
|
} catch (e) {
|
||||||
error = e
|
error = e
|
||||||
}
|
}
|
||||||
expect(error.message).toBe("Global DB not found")
|
expect(error.message).toBe("Global DB not found")
|
||||||
|
@ -85,8 +75,6 @@ describe("context", () => {
|
||||||
const db = context.getGlobalDB()
|
const db = context.getGlobalDB()
|
||||||
expect(db.name).toBe("test_global-db")
|
expect(db.name).toBe("test_global-db")
|
||||||
})
|
})
|
||||||
expect(dbUtils.getDB).toHaveBeenCalledTimes(1)
|
|
||||||
expect(dbUtils.closePouchDB).toHaveBeenCalledTimes(1)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it("sets the tenant id when nested with same tenant id", async () => {
|
it("sets the tenant id when nested with same tenant id", async () => {
|
||||||
|
@ -121,10 +109,6 @@ describe("context", () => {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
// only 1 db is opened and closed
|
|
||||||
expect(dbUtils.getDB).toHaveBeenCalledTimes(1)
|
|
||||||
expect(dbUtils.closePouchDB).toHaveBeenCalledTimes(1)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it("sets different tenant id inside another context", () => {
|
it("sets different tenant id inside another context", () => {
|
|
@ -1,4 +1,4 @@
|
||||||
export * from "./connections"
|
export * from "./connections"
|
||||||
export * from "./pouchLike"
|
export * from "./pouchLike"
|
||||||
export * from "./utils"
|
export * from "./utils"
|
||||||
export { init, getPouch, getPouchDB } from "./pouchDB"
|
export { init, getPouch, getPouchDB, closePouchDB } from "./pouchDB"
|
||||||
|
|
|
@ -11,7 +11,7 @@ const checkInitialised = () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getDB(dbName: string, opts?: any): PouchLike {
|
export function getDB(dbName?: string, opts?: any): PouchLike {
|
||||||
if (env.isTest()) {
|
if (env.isTest()) {
|
||||||
dbList.add(dbName)
|
dbList.add(dbName)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue