Adding a query find and planning to tackle mocking out the preview and execute functionality.
This commit is contained in:
parent
039de61de3
commit
8a0a0dabdb
|
@ -2,14 +2,17 @@ const { checkBuilderEndpoint } = require("./utilities/TestFunctions")
|
||||||
const { basicQuery } = require("./utilities/structures")
|
const { basicQuery } = require("./utilities/structures")
|
||||||
const setup = require("./utilities")
|
const setup = require("./utilities")
|
||||||
|
|
||||||
|
|
||||||
describe("/queries", () => {
|
describe("/queries", () => {
|
||||||
let request = setup.getRequest()
|
let request = setup.getRequest()
|
||||||
let config = setup.getConfig()
|
let config = setup.getConfig()
|
||||||
|
let datasource
|
||||||
|
|
||||||
afterAll(setup.afterAll)
|
afterAll(setup.afterAll)
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await config.init()
|
await config.init()
|
||||||
|
datasource = await config.createDatasource()
|
||||||
})
|
})
|
||||||
|
|
||||||
describe("create", () => {
|
describe("create", () => {
|
||||||
|
@ -35,16 +38,6 @@ describe("/queries", () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
describe("fetch", () => {
|
describe("fetch", () => {
|
||||||
let datasource
|
|
||||||
|
|
||||||
beforeEach(async () => {
|
|
||||||
datasource = await config.createDatasource()
|
|
||||||
})
|
|
||||||
|
|
||||||
afterEach(() => {
|
|
||||||
delete datasource._rev
|
|
||||||
})
|
|
||||||
|
|
||||||
it("returns all the queries from the server", async () => {
|
it("returns all the queries from the server", async () => {
|
||||||
const query = await config.createQuery()
|
const query = await config.createQuery()
|
||||||
const res = await request
|
const res = await request
|
||||||
|
@ -73,17 +66,33 @@ describe("/queries", () => {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe("find", () => {
|
||||||
|
it("should find a query in builder", async () => {
|
||||||
|
const query = await config.createQuery()
|
||||||
|
const res = await request
|
||||||
|
.get(`/api/queries/${query._id}`)
|
||||||
|
.set(config.defaultHeaders())
|
||||||
|
.expect("Content-Type", /json/)
|
||||||
|
.expect(200)
|
||||||
|
expect(res.body._id).toEqual(query._id)
|
||||||
|
})
|
||||||
|
|
||||||
|
it("should find a query in cloud", async () => {
|
||||||
|
await setup.switchToCloudForFunction(async () => {
|
||||||
|
const query = await config.createQuery()
|
||||||
|
const res = await request
|
||||||
|
.get(`/api/queries/${query._id}`)
|
||||||
|
.set(await config.roleHeaders())
|
||||||
|
.expect("Content-Type", /json/)
|
||||||
|
.expect(200)
|
||||||
|
expect(res.body.fields).toBeUndefined()
|
||||||
|
expect(res.body.parameters).toBeUndefined()
|
||||||
|
expect(res.body.schema).toBeUndefined()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
describe("destroy", () => {
|
describe("destroy", () => {
|
||||||
let datasource
|
|
||||||
|
|
||||||
beforeEach(async () => {
|
|
||||||
datasource = await config.createDatasource()
|
|
||||||
})
|
|
||||||
|
|
||||||
afterEach(() => {
|
|
||||||
delete datasource._rev
|
|
||||||
})
|
|
||||||
|
|
||||||
it("deletes a query and returns a success message", async () => {
|
it("deletes a query and returns a success message", async () => {
|
||||||
const query = await config.createQuery()
|
const query = await config.createQuery()
|
||||||
|
|
||||||
|
@ -109,4 +118,12 @@ describe("/queries", () => {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe("preview", () => {
|
||||||
|
// TODO: need to mock out an integration with a test one and try this
|
||||||
|
})
|
||||||
|
|
||||||
|
describe("execute", () => {
|
||||||
|
// TODO: need to mock out an integration with a test one and try this
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -85,7 +85,7 @@ class TestConfiguration {
|
||||||
return headers
|
return headers
|
||||||
}
|
}
|
||||||
|
|
||||||
async roleHeaders(email = EMAIL, roleId) {
|
async roleHeaders(email = EMAIL, roleId = BUILTIN_ROLE_IDS.ADMIN) {
|
||||||
try {
|
try {
|
||||||
await this.createUser(email, PASSWORD, roleId)
|
await this.createUser(email, PASSWORD, roleId)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
const TestConfig = require("./TestConfiguration")
|
const TestConfig = require("./TestConfiguration")
|
||||||
|
const env = require("../../../../environment")
|
||||||
|
|
||||||
exports.delay = ms => new Promise(resolve => setTimeout(resolve, ms))
|
exports.delay = ms => new Promise(resolve => setTimeout(resolve, ms))
|
||||||
|
|
||||||
|
@ -30,3 +31,21 @@ exports.getConfig = () => {
|
||||||
}
|
}
|
||||||
return config
|
return config
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exports.switchToCloudForFunction = async func => {
|
||||||
|
// self hosted stops any attempts to Dynamo
|
||||||
|
env.CLOUD = true
|
||||||
|
env.SELF_HOSTED = true
|
||||||
|
let error
|
||||||
|
try {
|
||||||
|
await func()
|
||||||
|
} catch (err) {
|
||||||
|
error = err
|
||||||
|
}
|
||||||
|
env.CLOUD = false
|
||||||
|
env.SELF_HOSTED = false
|
||||||
|
// don't throw error until after reset
|
||||||
|
if (error) {
|
||||||
|
throw error
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue