Adding test case for app import functionality.

This commit is contained in:
mike12345567 2023-09-20 18:25:34 +01:00
parent 61c12d88cf
commit 85887d0371
5 changed files with 53 additions and 1 deletions

View File

@ -0,0 +1,32 @@
import * as setup from "./utilities"
import path from "path"
jest.setTimeout(15000)
const PASSWORD = "testtest"
describe("/applications/:appId/import", () => {
let request = setup.getRequest()
let config = setup.getConfig()
afterAll(setup.afterAll)
beforeAll(async () => {
await config.init()
})
it("should be able to perform import", async () => {
const appId = config.getAppId()
const res = await request
.post(`/api/applications/${appId}/import`)
.field("encryptionPassword", PASSWORD)
.attach("appExport", path.join(__dirname, "assets", "export.tar.gz"))
.set(config.defaultHeaders())
.expect("Content-Type", /json/)
.expect(200)
expect(res.body.message).toBe("app updated")
const screens = await config.api.screen.list()
expect(screens.length).toBe(2)
expect(screens[0].routing.route).toBe("/derp")
expect(screens[1].routing.route).toBe("/blank")
})
})

View File

@ -53,7 +53,6 @@ import {
View,
FieldType,
RelationshipType,
ViewV2,
CreateViewRequest,
} from "@budibase/types"

View File

@ -5,6 +5,7 @@ import { TableAPI } from "./table"
import { ViewV2API } from "./viewV2"
import { DatasourceAPI } from "./datasource"
import { LegacyViewAPI } from "./legacyView"
import { ScreenAPI } from "./screen"
export default class API {
table: TableAPI
@ -13,6 +14,7 @@ export default class API {
row: RowAPI
permission: PermissionAPI
datasource: DatasourceAPI
screen: ScreenAPI
constructor(config: TestConfiguration) {
this.table = new TableAPI(config)
@ -21,5 +23,6 @@ export default class API {
this.row = new RowAPI(config)
this.permission = new PermissionAPI(config)
this.datasource = new DatasourceAPI(config)
this.screen = new ScreenAPI(config)
}
}

View File

@ -0,0 +1,18 @@
import TestConfiguration from "../TestConfiguration"
import { Screen } from "@budibase/types"
import { TestAPI } from "./base"
export class ScreenAPI extends TestAPI {
constructor(config: TestConfiguration) {
super(config)
}
list = async (): Promise<Screen[]> => {
const res = await this.request
.get(`/api/screens`)
.set(this.config.defaultHeaders())
.expect("Content-Type", /json/)
.expect(200)
return res.body as Screen[]
}
}