71 lines
2.1 KiB
JavaScript
71 lines
2.1 KiB
JavaScript
const { testAutomation } = require("./utilities/TestFunctions")
|
|
const setup = require("./utilities")
|
|
const { MetadataTypes } = require("../../../constants")
|
|
|
|
describe("/metadata", () => {
|
|
let request = setup.getRequest()
|
|
let config = setup.getConfig()
|
|
let automation
|
|
|
|
afterAll(setup.afterAll)
|
|
|
|
beforeAll(async () => {
|
|
await config.init()
|
|
automation = await config.createAutomation()
|
|
})
|
|
|
|
async function createMetadata(
|
|
data,
|
|
type = MetadataTypes.AUTOMATION_TEST_INPUT
|
|
) {
|
|
const res = await request
|
|
.post(`/api/metadata/${type}/${automation._id}`)
|
|
.send(data)
|
|
.set(config.defaultHeaders())
|
|
.expect("Content-Type", /json/)
|
|
.expect(200)
|
|
expect(res.body._rev).toBeDefined()
|
|
}
|
|
|
|
async function getMetadata(type) {
|
|
const res = await request
|
|
.get(`/api/metadata/${type}/${automation._id}`)
|
|
.set(config.defaultHeaders())
|
|
.expect("Content-Type", /json/)
|
|
.expect(200)
|
|
return res.body
|
|
}
|
|
|
|
describe("save", () => {
|
|
it("should be able to save some metadata", async () => {
|
|
await createMetadata({ test: "a" })
|
|
const testInput = await getMetadata(MetadataTypes.AUTOMATION_TEST_INPUT)
|
|
expect(testInput.test).toBe("a")
|
|
})
|
|
|
|
it("should save history metadata on automation run", async () => {
|
|
// this should have created some history
|
|
await testAutomation(config, automation)
|
|
const metadata = await getMetadata(MetadataTypes.AUTOMATION_TEST_HISTORY)
|
|
expect(metadata).toBeDefined()
|
|
expect(metadata.history.length).toBe(1)
|
|
expect(typeof metadata.history[0].occurredAt).toBe("number")
|
|
})
|
|
})
|
|
|
|
describe("destroy", () => {
|
|
it("should be able to delete some test inputs", async () => {
|
|
const res = await request
|
|
.delete(
|
|
`/api/metadata/${MetadataTypes.AUTOMATION_TEST_INPUT}/${automation._id}`
|
|
)
|
|
.set(config.defaultHeaders())
|
|
.expect("Content-Type", /json/)
|
|
.expect(200)
|
|
expect(res.body.message).toBeDefined()
|
|
const metadata = await getMetadata(MetadataTypes.AUTOMATION_TEST_INPUT)
|
|
expect(metadata.test).toBeUndefined()
|
|
})
|
|
})
|
|
})
|