Add tests for enriching empty card block settings
This commit is contained in:
parent
a074cb6bef
commit
35c52203ce
|
@ -23,6 +23,7 @@ import {
|
|||
DB_TYPE_EXTERNAL,
|
||||
DEFAULT_BB_DATASOURCE_ID,
|
||||
} from "constants/backend"
|
||||
import { makePropSafe as safe } from "@budibase/string-templates"
|
||||
|
||||
// Could move to fixtures
|
||||
const COMP_PREFIX = "@budibase/standard-components"
|
||||
|
@ -360,8 +361,30 @@ describe("Component store", () => {
|
|||
resourceId: internalTableDoc._id,
|
||||
type: "table",
|
||||
})
|
||||
|
||||
return comp
|
||||
}
|
||||
|
||||
it("enrichEmptySettings - initialise cards blocks with correct fields", async ctx => {
|
||||
const comp = enrichSettingsDS("cardsblock", ctx)
|
||||
const expectBinding = (setting, ...parts) => {
|
||||
expect(comp[setting]).toStrictEqual(
|
||||
`{{ ${safe(`${comp._id}-repeater`)}.${parts.map(safe).join(".")} }}`
|
||||
)
|
||||
}
|
||||
expectBinding("cardTitle", internalTableDoc.schema.MediaTitle.name)
|
||||
expectBinding("cardSubtitle", internalTableDoc.schema.MediaVersion.name)
|
||||
expectBinding(
|
||||
"cardDescription",
|
||||
internalTableDoc.schema.MediaDescription.name
|
||||
)
|
||||
expectBinding(
|
||||
"cardImageURL",
|
||||
internalTableDoc.schema.MediaImage.name,
|
||||
"url"
|
||||
)
|
||||
})
|
||||
|
||||
it("enrichEmptySettings - set default datasource for 'table' setting type", async ctx => {
|
||||
enrichSettingsDS("formblock", ctx)
|
||||
})
|
||||
|
|
|
@ -8,6 +8,7 @@ import {
|
|||
DB_TYPE_EXTERNAL,
|
||||
DEFAULT_BB_DATASOURCE_ID,
|
||||
} from "constants/backend"
|
||||
import { FieldType } from "@budibase/types"
|
||||
|
||||
const getDocId = () => {
|
||||
return v4().replace(/-/g, "")
|
||||
|
@ -45,6 +46,52 @@ export const COMPONENT_DEFINITIONS = {
|
|||
},
|
||||
],
|
||||
},
|
||||
cardsblock: {
|
||||
block: true,
|
||||
name: "Cards Block",
|
||||
settings: [
|
||||
{
|
||||
type: "dataSource",
|
||||
label: "Data",
|
||||
key: "dataSource",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
section: true,
|
||||
name: "Cards",
|
||||
settings: [
|
||||
{
|
||||
type: "text",
|
||||
key: "cardTitle",
|
||||
label: "Title",
|
||||
nested: true,
|
||||
resetOn: "dataSource",
|
||||
},
|
||||
{
|
||||
type: "text",
|
||||
key: "cardSubtitle",
|
||||
label: "Subtitle",
|
||||
nested: true,
|
||||
resetOn: "dataSource",
|
||||
},
|
||||
{
|
||||
type: "text",
|
||||
key: "cardDescription",
|
||||
label: "Description",
|
||||
nested: true,
|
||||
resetOn: "dataSource",
|
||||
},
|
||||
{
|
||||
type: "text",
|
||||
key: "cardImageURL",
|
||||
label: "Image URL",
|
||||
nested: true,
|
||||
resetOn: "dataSource",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
container: {
|
||||
name: "Container",
|
||||
},
|
||||
|
@ -262,14 +309,23 @@ export const internalTableDoc = {
|
|||
name: "Media",
|
||||
sourceId: BUDIBASE_INTERNAL_DB_ID,
|
||||
sourceType: DB_TYPE_INTERNAL,
|
||||
primaryDisplay: "MediaTitle",
|
||||
schema: {
|
||||
MediaTitle: {
|
||||
name: "MediaTitle",
|
||||
type: "string",
|
||||
type: FieldType.STRING,
|
||||
},
|
||||
MediaVersion: {
|
||||
name: "MediaVersion",
|
||||
type: "string",
|
||||
type: FieldType.STRING,
|
||||
},
|
||||
MediaDescription: {
|
||||
name: "MediaDescription",
|
||||
type: FieldType.LONGFORM,
|
||||
},
|
||||
MediaImage: {
|
||||
name: "MediaImage",
|
||||
type: FieldType.ATTACHMENT_SINGLE,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue