mirror of https://github.com/Budibase/budibase.git
12 changed files with 101 additions and 71 deletions
@ -1,71 +0,0 @@ |
|||
// const Airtable = require("airtable")
|
|||
// const AirtableIntegration = require("../airtable")
|
|||
|
|||
jest.mock("airtable") |
|||
|
|||
// class TestConfiguration {
|
|||
// constructor(config = {}) {
|
|||
// this.integration = new AirtableIntegration.integration(config)
|
|||
// this.client = {
|
|||
// create: jest.fn(),
|
|||
// select: jest.fn(),
|
|||
// update: jest.fn(),
|
|||
// destroy: jest.fn(),
|
|||
// }
|
|||
// this.integration.client = () => this.client
|
|||
// }
|
|||
// }
|
|||
|
|||
describe("Airtable Integration", () => { |
|||
let config |
|||
|
|||
beforeEach(() => { |
|||
config = new TestConfiguration() |
|||
}) |
|||
|
|||
it("calls the create method with the correct params", async () => { |
|||
const response = await config.integration.create({ |
|||
table: "test", |
|||
json: {} |
|||
}) |
|||
expect(config.client.create).toHaveBeenCalledWith([ |
|||
{ |
|||
fields: {} |
|||
} |
|||
]) |
|||
}) |
|||
|
|||
it("calls the read method with the correct params", async () => { |
|||
const response = await config.integration.read({ |
|||
table: "test", |
|||
view: "Grid view" |
|||
}) |
|||
expect(config.client.select).toHaveBeenCalledWith({ |
|||
maxRecords: 10, view: "Grid view" |
|||
}) |
|||
}) |
|||
|
|||
it("calls the update method with the correct params", async () => { |
|||
const response = await config.integration.update({ |
|||
table: "test", |
|||
id: "123", |
|||
json: { |
|||
name: "test" |
|||
} |
|||
}) |
|||
expect(config.client.update).toHaveBeenCalledWith([ |
|||
{ |
|||
id: "123", |
|||
fields: { name: "test" } |
|||
} |
|||
]) |
|||
}) |
|||
|
|||
it("calls the delete method with the correct params", async () => { |
|||
const ids = [1,2,3,4] |
|||
const response = await config.integration.delete({ |
|||
ids |
|||
}) |
|||
expect(config.client.destroy).toHaveBeenCalledWith(ids) |
|||
}) |
|||
}) |
|||
@ -0,0 +1,88 @@ |
|||
// const Airtable = require("airtable")
|
|||
// const AirtableIntegration = require("../airtable")
|
|||
const { Curl } = require("../../curl") |
|||
const fs = require("fs") |
|||
const path = require('path') |
|||
jest.mock("airtable") |
|||
|
|||
// class TestConfiguration {
|
|||
// constructor(config = {}) {
|
|||
// this.integration = new AirtableIntegration.integration(config)
|
|||
// this.client = {
|
|||
// create: jest.fn(),
|
|||
// select: jest.fn(),
|
|||
// update: jest.fn(),
|
|||
// destroy: jest.fn(),
|
|||
// }
|
|||
// this.integration.client = () => this.client
|
|||
// }
|
|||
// }
|
|||
|
|||
const getData = (file) => { |
|||
return fs.readFileSync(path.join(__dirname, `./data/${file}.txt`), "utf8") |
|||
} |
|||
describe("Curl Import", () => { |
|||
let curl |
|||
|
|||
beforeEach(() => { |
|||
curl = new Curl() |
|||
}) |
|||
|
|||
it("validates unsupported data", async () => { |
|||
let data |
|||
let supported |
|||
|
|||
// JSON
|
|||
data = "{}" |
|||
supported = await curl.isSupported(data) |
|||
expect(supported).toBe(false) |
|||
|
|||
// Empty
|
|||
data = "" |
|||
supported = await curl.isSupported(data) |
|||
expect(supported).toBe(false) |
|||
}) |
|||
|
|||
it("returns import info", async () => { |
|||
const data = getData() |
|||
await curl.isSupported(data) |
|||
const info = await curl.getInfo() |
|||
expect(info.url).toBe("http://example.com") |
|||
expect(info.name).toBe("example.com") |
|||
}) |
|||
|
|||
describe("Returns queries", () => { |
|||
describe("populates verb", () => { |
|||
const testVerb = async (file, verb) => { |
|||
const data = getData(file) |
|||
await curl.isSupported(data) |
|||
const queries = await curl.getQueries(data) |
|||
expect(queries.length).toBe(1) |
|||
expect(queries[0].verb).toBe(verb) |
|||
} |
|||
it("populates verb", async () => { |
|||
await testVerb("get", "read") |
|||
await testVerb("post", "create") |
|||
await testVerb("put", "update") |
|||
await testVerb("delete", "delete") |
|||
await testVerb("patch", "patch") |
|||
}) |
|||
}) |
|||
|
|||
it("populates path", async () => { |
|||
|
|||
}) |
|||
|
|||
it("populates headers", async () => { |
|||
|
|||
}) |
|||
|
|||
it("populates query", async () => { |
|||
|
|||
}) |
|||
|
|||
it("populates body", async () => { |
|||
|
|||
}) |
|||
}) |
|||
}) |
|||
@ -0,0 +1 @@ |
|||
curl -X DELETE 'http://example.com' |
|||
@ -0,0 +1 @@ |
|||
curl 'http://example.com' |
|||
@ -0,0 +1,3 @@ |
|||
curl 'http://example.com' \ |
|||
-H 'x-bb-header-1: 123' \ |
|||
-H 'x-bb-header-2: 1456' |
|||
@ -0,0 +1,2 @@ |
|||
curl -X PATCH 'http://example.com/paths/abc' \ |
|||
--data-raw '{ "key" : "val" }' |
|||
@ -0,0 +1 @@ |
|||
curl 'http://example.com/paths/abc' |
|||
@ -0,0 +1,2 @@ |
|||
curl -X POST 'http://example.com' \ |
|||
--data-raw '{ "key" : "val" }' |
|||
@ -0,0 +1,2 @@ |
|||
curl -X PUT 'http://example.com/paths/abc' \ |
|||
--data-raw '{ "key" : "val" }' |
|||
@ -0,0 +1 @@ |
|||
curl 'http://example.com/paths/abc?q1=v1&q1=v2' |
|||
Loading…
Reference in new issue