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 { Screen, Role, BuiltinPermissionID } from "@budibase/types"
|
||||
|
||||
const { basicScreen } = setup.structures
|
||||
const { basicScreen, tableScreen, viewScreen, queryScreen, basicTable } =
|
||||
setup.structures
|
||||
|
||||
describe("/screens", () => {
|
||||
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 { BASE_LAYOUT_PROP_IDS } from "./layouts"
|
||||
import { Screen } from "@budibase/types"
|
||||
import { Screen, Table, Query, ViewV2 } from "@budibase/types"
|
||||
|
||||
export function createHomeScreen(
|
||||
config: {
|
||||
|
@ -53,3 +53,177 @@ export function createHomeScreen(
|
|||
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 { createHomeScreen } from "../../constants/screens"
|
||||
import {
|
||||
createHomeScreen,
|
||||
createTableScreen,
|
||||
createQueryScreen,
|
||||
createViewScreen,
|
||||
} from "../../constants/screens"
|
||||
import { EMPTY_LAYOUT } from "../../constants/layouts"
|
||||
import { cloneDeep } from "lodash/fp"
|
||||
import {
|
||||
|
@ -35,6 +40,7 @@ import {
|
|||
WebhookActionType,
|
||||
BuiltinPermissionID,
|
||||
DeepPartial,
|
||||
ViewV2,
|
||||
} from "@budibase/types"
|
||||
import { LoopInput } from "../../definitions/automations"
|
||||
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 = "/") {
|
||||
return createHomeScreen({
|
||||
roleId: BUILTIN_ROLE_IDS.POWER,
|
||||
|
|
Loading…
Reference in New Issue