budibase/packages/core/test/recordApi.customId.spec.js

39 lines
1.2 KiB
JavaScript

import {
setupApphierarchy,
basicAppHierarchyCreator_WithFields,
} from "./specHelpers"
describe("get customId", () => {
it("should generate an id with given value", async () => {
const { recordApi, appHierarchy } = await setupApphierarchy(
basicAppHierarchyCreator_WithFields
)
const customId = recordApi.customId("customer", "my_custom_id")
expect(customId).toBe(`${appHierarchy.customerRecord.nodeId}-my_custom_id`)
})
it("should throw error when nodeName does not exist", async () => {
const { recordApi } = await setupApphierarchy(
basicAppHierarchyCreator_WithFields
)
expect(() => recordApi.customId("not a node", "my_ custom_id")).toThrow()
})
})
describe("set customId", () => {
it("should generate custom id and set on given record", async () => {
const { recordApi, appHierarchy } = await setupApphierarchy(
basicAppHierarchyCreator_WithFields
)
const customer = recordApi.getNew("/customers", "customer")
recordApi.setCustomId(customer, "my_custom_id")
expect(customer.id).toBe(
`${appHierarchy.customerRecord.nodeId}-my_custom_id`
)
expect(customer.key).toBe(
`/customers/${appHierarchy.customerRecord.nodeId}-my_custom_id`
)
})
})