Add basic test
This commit is contained in:
parent
6412da730c
commit
89e0610600
|
@ -122,6 +122,7 @@
|
|||
"@babel/core": "7.17.4",
|
||||
"@babel/preset-env": "7.16.11",
|
||||
"@budibase/standard-components": "^0.9.139",
|
||||
"@faker-js/faker": "^7.6.0",
|
||||
"@jest/test-sequencer": "24.9.0",
|
||||
"@swc/core": "^1.3.25",
|
||||
"@swc/jest": "^0.2.24",
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
import { faker } from "@faker-js/faker"
|
||||
import {
|
||||
generateMakeRequest,
|
||||
MakeRequestResponse,
|
||||
} from "../api/routes/public/tests/utils"
|
||||
|
||||
import * as setup from "../api/routes/tests/utilities"
|
||||
import supertest from "supertest"
|
||||
import { FieldType } from "@budibase/types"
|
||||
|
||||
const config = setup.getConfig()
|
||||
let apiKey, table, app, makeRequest: MakeRequestResponse
|
||||
|
||||
beforeAll(async () => {
|
||||
app = await config.init()
|
||||
table = await config.updateTable()
|
||||
apiKey = await config.generateApiKey()
|
||||
makeRequest = generateMakeRequest(apiKey)
|
||||
})
|
||||
|
||||
afterAll(async () => {
|
||||
require("../app").default
|
||||
await config.end()
|
||||
})
|
||||
|
||||
describe("row api", () => {
|
||||
let request: supertest.SuperTest<supertest.Test>
|
||||
let server: any
|
||||
|
||||
beforeAll(() => {
|
||||
server = require("../app").default
|
||||
})
|
||||
afterAll(() => {
|
||||
server.close()
|
||||
})
|
||||
|
||||
beforeEach(async () => {
|
||||
request = supertest(server)
|
||||
})
|
||||
|
||||
describe("create a row", () => {
|
||||
test("Given than no row exists, adding a new rows persists it", async () => {
|
||||
const tableName = faker.lorem.word()
|
||||
let table = await config.createTable({
|
||||
name: tableName,
|
||||
schema: {
|
||||
name: {
|
||||
name: "name",
|
||||
type: FieldType.STRING,
|
||||
},
|
||||
description: {
|
||||
name: "description",
|
||||
type: FieldType.STRING,
|
||||
},
|
||||
value: {
|
||||
name: "value",
|
||||
type: FieldType.NUMBER,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
const newRow = {
|
||||
name: faker.name.fullName(),
|
||||
description: faker.lorem.paragraphs(),
|
||||
value: faker.random.numeric(),
|
||||
}
|
||||
|
||||
const res = await makeRequest("post", `/tables/${table._id}/rows`, newRow)
|
||||
|
||||
expect(res.status).toBe(200)
|
||||
})
|
||||
})
|
||||
})
|
|
@ -1,13 +1,17 @@
|
|||
import env from "../environment"
|
||||
import { tmpdir } from "os"
|
||||
|
||||
env._set("SELF_HOSTED", "1")
|
||||
env._set("NODE_ENV", "jest")
|
||||
env._set("JWT_SECRET", "test-jwtsecret")
|
||||
env._set("CLIENT_ID", "test-client-id")
|
||||
env._set("BUDIBASE_DIR", tmpdir("budibase-unittests"))
|
||||
env._set("LOG_LEVEL", "silent")
|
||||
env._set("PORT", 0)
|
||||
env._set("MINIO_URL", "http://localhost")
|
||||
env._set("MINIO_ACCESS_KEY", "test")
|
||||
env._set("MINIO_SECRET_KEY", "test")
|
||||
if (!env.isDockerisedTest()) {
|
||||
env._set("SELF_HOSTED", "1")
|
||||
env._set("NODE_ENV", "jest")
|
||||
env._set("JWT_SECRET", "test-jwtsecret")
|
||||
env._set("CLIENT_ID", "test-client-id")
|
||||
env._set("BUDIBASE_DIR", tmpdir("budibase-unittests"))
|
||||
env._set("LOG_LEVEL", "silent")
|
||||
env._set("PORT")
|
||||
env._set("MINIO_URL", "http://localhost")
|
||||
env._set("MINIO_ACCESS_KEY", "test")
|
||||
env._set("MINIO_SECRET_KEY", "test")
|
||||
} else {
|
||||
env._set("DISABLE_AUTO_PROD_APP_SYNC", "TRUE")
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ import newid from "../../db/newid"
|
|||
import { generateUserMetadataID } from "../../db/utils"
|
||||
import { startup } from "../../startup"
|
||||
import supertest from "supertest"
|
||||
import { Table } from "@budibase/types"
|
||||
|
||||
const GLOBAL_USER_ID = "us_uuid1"
|
||||
const EMAIL = "babs@babs.com"
|
||||
|
@ -418,7 +419,7 @@ class TestConfiguration {
|
|||
return this.table
|
||||
}
|
||||
|
||||
async createTable(config?: any) {
|
||||
async createTable(config?: Table) {
|
||||
if (config != null && config._id) {
|
||||
delete config._id
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,10 +1,10 @@
|
|||
import { Document } from "../document"
|
||||
import { View } from "./view"
|
||||
import { RenameColumn } from "../../sdk"
|
||||
import { FieldType } from "./row"
|
||||
|
||||
export interface FieldSchema {
|
||||
// TODO: replace with field types enum when done
|
||||
type: string
|
||||
type: FieldType
|
||||
externalType?: string
|
||||
fieldName?: string
|
||||
name: string
|
||||
|
|
Loading…
Reference in New Issue