mirror of https://github.com/Budibase/budibase.git
11 changed files with 8188 additions and 110 deletions
@ -0,0 +1,83 @@ |
|||||
|
const supertest = require("supertest"); |
||||
|
const app = require("../../../../app"); |
||||
|
const { createInstanceDatabase, createModel, destroyDatabase } = require("./couchTestUtils"); |
||||
|
|
||||
|
|
||||
|
const TEST_INSTANCE_ID = "testing-123"; |
||||
|
|
||||
|
describe("/models", () => { |
||||
|
let request; |
||||
|
let server; |
||||
|
|
||||
|
beforeAll(async () => { |
||||
|
server = await app({ |
||||
|
config: { |
||||
|
port: 3000 |
||||
|
} |
||||
|
}); |
||||
|
request = supertest(server); |
||||
|
}); |
||||
|
|
||||
|
afterAll(async () => { |
||||
|
server.close(); |
||||
|
}) |
||||
|
|
||||
|
describe("create", () => { |
||||
|
beforeEach(async () => { |
||||
|
await createInstanceDatabase(TEST_INSTANCE_ID); |
||||
|
}); |
||||
|
|
||||
|
afterEach(async () => { |
||||
|
await destroyDatabase(TEST_INSTANCE_ID); |
||||
|
}); |
||||
|
|
||||
|
it("returns a success message when the model is successfully created", done => { |
||||
|
request |
||||
|
.post(`/api/${TEST_INSTANCE_ID}/models`) |
||||
|
.send({ |
||||
|
name: "TestModel", |
||||
|
key: "name", |
||||
|
fields: [ |
||||
|
{ |
||||
|
name: "name", |
||||
|
type: "string" |
||||
|
} |
||||
|
] |
||||
|
}) |
||||
|
.set("Accept", "application/json") |
||||
|
.expect('Content-Type', /json/) |
||||
|
.expect(200) |
||||
|
.end(async (err, res) => { |
||||
|
expect(res.body.message).toEqual("Model TestModel created successfully."); |
||||
|
done(); |
||||
|
}); |
||||
|
}) |
||||
|
}); |
||||
|
|
||||
|
describe("fetch", () => { |
||||
|
let testModel; |
||||
|
|
||||
|
beforeEach(async () => { |
||||
|
await createInstanceDatabase(TEST_INSTANCE_ID); |
||||
|
testModel = await createModel(TEST_INSTANCE_ID); |
||||
|
}); |
||||
|
|
||||
|
afterEach(async () => { |
||||
|
await destroyDatabase(TEST_INSTANCE_ID); |
||||
|
}); |
||||
|
|
||||
|
it("returns all the models for that instance in the response body", done => { |
||||
|
request |
||||
|
.get(`/api/${TEST_INSTANCE_ID}/models`) |
||||
|
.set("Accept", "application/json") |
||||
|
.expect('Content-Type', /json/) |
||||
|
.expect(200) |
||||
|
.end(async (_, res) => { |
||||
|
const fetchedModel = res.body[0].doc; |
||||
|
expect(fetchedModel.name).toEqual(testModel.name); |
||||
|
expect(fetchedModel.type).toEqual("model"); |
||||
|
done(); |
||||
|
}); |
||||
|
}) |
||||
|
}); |
||||
|
}); |
||||
File diff suppressed because it is too large
Loading…
Reference in new issue