Creating structures for testing usage endpoint.
This commit is contained in:
parent
1d324744e0
commit
d6fb87dce0
|
@ -3,7 +3,8 @@ import * as setup from "./utilities"
|
||||||
import { events, roles } from "@budibase/backend-core"
|
import { events, roles } from "@budibase/backend-core"
|
||||||
import { Screen, Role, BuiltinPermissionID } from "@budibase/types"
|
import { Screen, Role, BuiltinPermissionID } from "@budibase/types"
|
||||||
|
|
||||||
const { basicScreen } = setup.structures
|
const { basicScreen, tableScreen, viewScreen, queryScreen, basicTable } =
|
||||||
|
setup.structures
|
||||||
|
|
||||||
describe("/screens", () => {
|
describe("/screens", () => {
|
||||||
let config = setup.getConfig()
|
let config = setup.getConfig()
|
||||||
|
@ -186,4 +187,11 @@ describe("/screens", () => {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe("usage", () => {
|
||||||
|
it("should find table usage", async () => {
|
||||||
|
const table = await config.api.table.save(basicTable(), { status: 200 })
|
||||||
|
const tableScreen = await config.api.screen.save(tableScreen())
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { roles } from "@budibase/backend-core"
|
import { roles } from "@budibase/backend-core"
|
||||||
import { BASE_LAYOUT_PROP_IDS } from "./layouts"
|
import { BASE_LAYOUT_PROP_IDS } from "./layouts"
|
||||||
import { Screen } from "@budibase/types"
|
import { Screen, Table, Query, ViewV2 } from "@budibase/types"
|
||||||
|
|
||||||
export function createHomeScreen(
|
export function createHomeScreen(
|
||||||
config: {
|
config: {
|
||||||
|
@ -53,3 +53,177 @@ export function createHomeScreen(
|
||||||
name: "home-screen",
|
name: "home-screen",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function heading(text: string) {
|
||||||
|
return {
|
||||||
|
_id: "c1bff24cd821e41d18c894ac77a80ef99",
|
||||||
|
_component: "@budibase/standard-components/heading",
|
||||||
|
_styles: {
|
||||||
|
normal: {},
|
||||||
|
hover: {},
|
||||||
|
active: {},
|
||||||
|
selected: {},
|
||||||
|
},
|
||||||
|
_instanceName: "Table heading",
|
||||||
|
_children: [],
|
||||||
|
text,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function createTableScreen(
|
||||||
|
datasourceName: string,
|
||||||
|
table: Table
|
||||||
|
): Screen {
|
||||||
|
return {
|
||||||
|
props: {
|
||||||
|
_id: "cad0a0904cacd4678a2ac094e293db1a5",
|
||||||
|
_component: "@budibase/standard-components/container",
|
||||||
|
_styles: {
|
||||||
|
normal: {},
|
||||||
|
hover: {},
|
||||||
|
active: {},
|
||||||
|
selected: {},
|
||||||
|
},
|
||||||
|
_children: [
|
||||||
|
heading("table"),
|
||||||
|
{
|
||||||
|
_id: "ca6304be2079147bb9933092c4f8ce6fa",
|
||||||
|
_component: "@budibase/standard-components/gridblock",
|
||||||
|
_styles: {
|
||||||
|
normal: {},
|
||||||
|
hover: {},
|
||||||
|
active: {},
|
||||||
|
selected: {},
|
||||||
|
},
|
||||||
|
_instanceName: "table - Table",
|
||||||
|
_children: [],
|
||||||
|
table: {
|
||||||
|
label: table.name,
|
||||||
|
tableId: table._id!,
|
||||||
|
type: "table",
|
||||||
|
datasourceName,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
_instanceName: "table - List",
|
||||||
|
layout: "grid",
|
||||||
|
direction: "column",
|
||||||
|
hAlign: "stretch",
|
||||||
|
vAlign: "top",
|
||||||
|
size: "grow",
|
||||||
|
gap: "M",
|
||||||
|
},
|
||||||
|
routing: {
|
||||||
|
route: "/table",
|
||||||
|
roleId: "ADMIN",
|
||||||
|
homeScreen: false,
|
||||||
|
},
|
||||||
|
name: "screen-id",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function createViewScreen(datasourceName: string, view: ViewV2): Screen {
|
||||||
|
return {
|
||||||
|
props: {
|
||||||
|
_id: "cc359092bbd6c4e10b57827155edb7872",
|
||||||
|
_component: "@budibase/standard-components/container",
|
||||||
|
_styles: {
|
||||||
|
normal: {},
|
||||||
|
hover: {},
|
||||||
|
active: {},
|
||||||
|
selected: {},
|
||||||
|
},
|
||||||
|
_children: [
|
||||||
|
heading("view"),
|
||||||
|
{
|
||||||
|
_id: "ccb4a9e3734794864b5c65b012a0bdc5a",
|
||||||
|
_component: "@budibase/standard-components/gridblock",
|
||||||
|
_styles: {
|
||||||
|
normal: {},
|
||||||
|
hover: {},
|
||||||
|
active: {},
|
||||||
|
selected: {},
|
||||||
|
},
|
||||||
|
_instanceName: "view - Table",
|
||||||
|
_children: [],
|
||||||
|
table: {
|
||||||
|
...view,
|
||||||
|
name: view.name,
|
||||||
|
tableId: view.tableId,
|
||||||
|
id: view.id,
|
||||||
|
label: view.name,
|
||||||
|
type: "viewV2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
_instanceName: "view - List",
|
||||||
|
layout: "grid",
|
||||||
|
direction: "column",
|
||||||
|
hAlign: "stretch",
|
||||||
|
vAlign: "top",
|
||||||
|
size: "grow",
|
||||||
|
gap: "M",
|
||||||
|
},
|
||||||
|
routing: {
|
||||||
|
route: "/view",
|
||||||
|
roleId: "ADMIN",
|
||||||
|
homeScreen: false,
|
||||||
|
},
|
||||||
|
name: "view-id",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function createQueryScreen(datasourceId: string, query: Query): Screen {
|
||||||
|
return {
|
||||||
|
props: {
|
||||||
|
_id: "cc59b217aed264939a6c5249eee39cb25",
|
||||||
|
_component: "@budibase/standard-components/container",
|
||||||
|
_styles: {
|
||||||
|
normal: {},
|
||||||
|
hover: {},
|
||||||
|
active: {},
|
||||||
|
selected: {},
|
||||||
|
},
|
||||||
|
_children: [
|
||||||
|
{
|
||||||
|
_id: "c33a4a6e3cb5343158a08625c06b5cd7c",
|
||||||
|
_component: "@budibase/standard-components/gridblock",
|
||||||
|
_styles: {
|
||||||
|
normal: {},
|
||||||
|
hover: {},
|
||||||
|
active: {},
|
||||||
|
},
|
||||||
|
_instanceName: "New Table",
|
||||||
|
table: {
|
||||||
|
...query,
|
||||||
|
label: query.name,
|
||||||
|
_id: query._id!,
|
||||||
|
name: query.name,
|
||||||
|
datasourceId: datasourceId,
|
||||||
|
type: "query",
|
||||||
|
},
|
||||||
|
initialSortOrder: "Ascending",
|
||||||
|
allowAddRows: true,
|
||||||
|
allowEditRows: true,
|
||||||
|
allowDeleteRows: true,
|
||||||
|
stripeRows: false,
|
||||||
|
quiet: false,
|
||||||
|
columns: null,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
_instanceName: "Blank screen",
|
||||||
|
layout: "grid",
|
||||||
|
direction: "column",
|
||||||
|
hAlign: "stretch",
|
||||||
|
vAlign: "top",
|
||||||
|
size: "grow",
|
||||||
|
gap: "M",
|
||||||
|
},
|
||||||
|
routing: {
|
||||||
|
route: "/query",
|
||||||
|
roleId: "BASIC",
|
||||||
|
homeScreen: false,
|
||||||
|
},
|
||||||
|
name: "screen-id",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
import { roles, utils } from "@budibase/backend-core"
|
import { roles, utils } from "@budibase/backend-core"
|
||||||
import { createHomeScreen } from "../../constants/screens"
|
import {
|
||||||
|
createHomeScreen,
|
||||||
|
createTableScreen,
|
||||||
|
createQueryScreen,
|
||||||
|
createViewScreen,
|
||||||
|
} from "../../constants/screens"
|
||||||
import { EMPTY_LAYOUT } from "../../constants/layouts"
|
import { EMPTY_LAYOUT } from "../../constants/layouts"
|
||||||
import { cloneDeep } from "lodash/fp"
|
import { cloneDeep } from "lodash/fp"
|
||||||
import {
|
import {
|
||||||
|
@ -35,6 +40,7 @@ import {
|
||||||
WebhookActionType,
|
WebhookActionType,
|
||||||
BuiltinPermissionID,
|
BuiltinPermissionID,
|
||||||
DeepPartial,
|
DeepPartial,
|
||||||
|
ViewV2,
|
||||||
} from "@budibase/types"
|
} from "@budibase/types"
|
||||||
import { LoopInput } from "../../definitions/automations"
|
import { LoopInput } from "../../definitions/automations"
|
||||||
import { merge } from "lodash"
|
import { merge } from "lodash"
|
||||||
|
@ -599,6 +605,18 @@ export function basicScreen(route = "/") {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function tableScreen(datasourceName: string, table: Table) {
|
||||||
|
return createTableScreen(datasourceName, table)
|
||||||
|
}
|
||||||
|
|
||||||
|
export function viewScreen(datasourceName: string, view: ViewV2) {
|
||||||
|
return createViewScreen(datasourceName, view)
|
||||||
|
}
|
||||||
|
|
||||||
|
export function queryScreen(datasourceId: string, query: Query) {
|
||||||
|
return createQueryScreen(datasourceId, query)
|
||||||
|
}
|
||||||
|
|
||||||
export function powerScreen(route = "/") {
|
export function powerScreen(route = "/") {
|
||||||
return createHomeScreen({
|
return createHomeScreen({
|
||||||
roleId: BUILTIN_ROLE_IDS.POWER,
|
roleId: BUILTIN_ROLE_IDS.POWER,
|
||||||
|
|
Loading…
Reference in New Issue