Budibase is an open-source low-code platform for creating internal apps in minutes. Supports PostgreSQL, MySQL, MSSQL, MongoDB, Rest API, Docker, K8s 🚀
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

34 lines
1.3 KiB

import {setupApphierarchy, basicAppHierarchyCreator_WithFields,
getNewFieldAndAdd, stubEventHandler} from "./specHelpers";
import { iterateIndex } from "../src/indexing/read";
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`)
})
})