budibase/packages/core/test/initialiseData.spec.js

74 lines
3.2 KiB
JavaScript
Raw Normal View History

2019-07-15 08:12:52 +02:00
import {getMemoryTemplateApi, basicAppHierarchyCreator_WithFields_AndIndexes} from "./specHelpers";
import {initialiseData} from "../src/appInitialise/initialiseData";
import {TRANSACTIONS_FOLDER} from "../src/transactions/transactionsCommon";
import {AUTH_FOLDER, USERS_LIST_FILE, ACCESS_LEVELS_FILE} from "../src/authApi/authCommon";
describe("initialiseData", () => {
it("should create csv file for each index, when does not exist", async () => {
const {appDef, datastore} = getApplicationDefinition();
await initialiseData(datastore, appDef);
expect(await datastore.exists(`/customer_index/index.csv`)).toBeTruthy();
expect(await datastore.exists(`/customer_index`)).toBeTruthy();
expect(await datastore.exists(`/deceased/index.csv`)).toBeTruthy();
expect(await datastore.exists(`/deceased`)).toBeTruthy();
});
it("should create folder for collection", async () => {
const {appDef, datastore} = getApplicationDefinition();
await initialiseData(datastore, appDef);
expect(await datastore.exists(`/customers`)).toBeTruthy();
});
it("should create allids folders", async () => {
const {appDef, datastore, h} = getApplicationDefinition();
await initialiseData(datastore, appDef);
const allIdsTypeFolder = "/customers/allids/" + h.customerRecord.nodeId;
const allIdsFolder = "/customers/allids";
expect(await datastore.exists(allIdsTypeFolder)).toBeTruthy();
expect(await datastore.exists(allIdsFolder)).toBeTruthy();
});
it("should create transactions folder", async () => {
const {appDef, datastore} = getApplicationDefinition();
await initialiseData(datastore, appDef);
expect(await datastore.exists(TRANSACTIONS_FOLDER)).toBeTruthy();
});
it("should create auth folder", async () => {
const {appDef, datastore} = getApplicationDefinition();
await initialiseData(datastore, appDef);
expect(await datastore.exists(AUTH_FOLDER)).toBeTruthy();
});
it("should create users list", async () => {
const {appDef, datastore} = getApplicationDefinition();
await initialiseData(datastore, appDef);
expect(await datastore.exists(USERS_LIST_FILE)).toBeTruthy();
});
it("should create access levels file", async () => {
const {appDef, datastore} = getApplicationDefinition();
await initialiseData(datastore, appDef);
expect(await datastore.exists(ACCESS_LEVELS_FILE)).toBeTruthy();
});
it("should create access levels file, with supplied object", async () => {
const {appDef, datastore} = getApplicationDefinition();
await initialiseData(datastore, appDef, { version: 0, levels: [{
name:"owner", permissions:[{type:"create user"}]
}] });
const levels = await datastore.loadJson(ACCESS_LEVELS_FILE);
expect(levels.levels[0].name).toBe("owner");
});
const getApplicationDefinition = () => {
const {templateApi, app} = getMemoryTemplateApi();
const h = basicAppHierarchyCreator_WithFields_AndIndexes(templateApi);
return {appDef:{hierarchy:h.root, actions:[], triggers:[]}, datastore:app.datastore, h};
}
});