UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

76 lines (75 loc) 5.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const _index = /*#__PURE__*/ _interop_require_default(require("./index")); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('Form - buildStateFromSchema', ()=>{ const defaultValue = 'Default'; it('populates default value - normal fields', async ()=>{ const fieldSchema = [ { name: 'text', defaultValue, label: 'Text', type: 'text' } ]; const state = await (0, _index.default)({ fieldSchema }); expect(state.text.value).toBe(defaultValue); }); it('field value overrides defaultValue - normal fields', async ()=>{ const value = 'value'; const data = { text: value }; const fieldSchema = [ { name: 'text', defaultValue, label: 'Text', type: 'text' } ]; const state = await (0, _index.default)({ data, fieldSchema }); expect(state.text.value).toBe(value); }); it('populates default value from a function - normal fields', async ()=>{ const user = { email: 'user@example.com' }; const locale = 'en'; const fieldSchema = [ { name: 'text', defaultValue: (args)=>{ if (!args.locale) { return 'missing locale'; } if (!args.user) { return 'missing user'; } return 'Default'; }, label: 'Text', type: 'text' } ]; const state = await (0, _index.default)({ fieldSchema, locale, user }); expect(state.text.value).toBe(defaultValue); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL0Zvcm0vYnVpbGRTdGF0ZUZyb21TY2hlbWEvYnVpbGRTdGF0ZUZyb21TY2hlbWEuc3BlYy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYnVpbGRTdGF0ZUZyb21TY2hlbWEgZnJvbSAnLi9pbmRleCdcblxuZGVzY3JpYmUoJ0Zvcm0gLSBidWlsZFN0YXRlRnJvbVNjaGVtYScsICgpID0+IHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlID0gJ0RlZmF1bHQnXG4gIGl0KCdwb3B1bGF0ZXMgZGVmYXVsdCB2YWx1ZSAtIG5vcm1hbCBmaWVsZHMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZmllbGRTY2hlbWEgPSBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd0ZXh0JyxcbiAgICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgICBsYWJlbDogJ1RleHQnLFxuICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICB9LFxuICAgIF1cbiAgICBjb25zdCBzdGF0ZSA9IGF3YWl0IGJ1aWxkU3RhdGVGcm9tU2NoZW1hKHsgZmllbGRTY2hlbWEgfSlcbiAgICBleHBlY3Qoc3RhdGUudGV4dC52YWx1ZSkudG9CZShkZWZhdWx0VmFsdWUpXG4gIH0pXG4gIGl0KCdmaWVsZCB2YWx1ZSBvdmVycmlkZXMgZGVmYXVsdFZhbHVlIC0gbm9ybWFsIGZpZWxkcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9ICd2YWx1ZSdcbiAgICBjb25zdCBkYXRhID0geyB0ZXh0OiB2YWx1ZSB9XG4gICAgY29uc3QgZmllbGRTY2hlbWEgPSBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd0ZXh0JyxcbiAgICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgICBsYWJlbDogJ1RleHQnLFxuICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICB9LFxuICAgIF1cbiAgICBjb25zdCBzdGF0ZSA9IGF3YWl0IGJ1aWxkU3RhdGVGcm9tU2NoZW1hKHsgZGF0YSwgZmllbGRTY2hlbWEgfSlcbiAgICBleHBlY3Qoc3RhdGUudGV4dC52YWx1ZSkudG9CZSh2YWx1ZSlcbiAgfSlcbiAgaXQoJ3BvcHVsYXRlcyBkZWZhdWx0IHZhbHVlIGZyb20gYSBmdW5jdGlvbiAtIG5vcm1hbCBmaWVsZHMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdXNlciA9IHsgZW1haWw6ICd1c2VyQGV4YW1wbGUuY29tJyB9XG4gICAgY29uc3QgbG9jYWxlID0gJ2VuJ1xuICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gW1xuICAgICAge1xuICAgICAgICBuYW1lOiAndGV4dCcsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogKGFyZ3MpID0+IHtcbiAgICAgICAgICBpZiAoIWFyZ3MubG9jYWxlKSB7XG4gICAgICAgICAgICByZXR1cm4gJ21pc3NpbmcgbG9jYWxlJ1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIWFyZ3MudXNlcikge1xuICAgICAgICAgICAgcmV0dXJuICdtaXNzaW5nIHVzZXInXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAnRGVmYXVsdCdcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWw6ICdUZXh0JyxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSxcbiAgICBdXG4gICAgY29uc3Qgc3RhdGUgPSBhd2FpdCBidWlsZFN0YXRlRnJvbVNjaGVtYSh7IGZpZWxkU2NoZW1hLCBsb2NhbGUsIHVzZXIgfSlcbiAgICBleHBlY3Qoc3RhdGUudGV4dC52YWx1ZSkudG9CZShkZWZhdWx0VmFsdWUpXG4gIH0pXG59KVxuIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiZGVmYXVsdFZhbHVlIiwiaXQiLCJmaWVsZFNjaGVtYSIsIm5hbWUiLCJsYWJlbCIsInR5cGUiLCJzdGF0ZSIsImJ1aWxkU3RhdGVGcm9tU2NoZW1hIiwiZXhwZWN0IiwidGV4dCIsInZhbHVlIiwidG9CZSIsImRhdGEiLCJ1c2VyIiwiZW1haWwiLCJsb2NhbGUiLCJhcmdzIl0sIm1hcHBpbmdzIjoiOzs7OzhEQUFpQzs7Ozs7O0FBRWpDQSxTQUFTLCtCQUErQjtJQUN0QyxNQUFNQyxlQUFlO0lBQ3JCQyxHQUFHLDJDQUEyQztRQUM1QyxNQUFNQyxjQUFjO1lBQ2xCO2dCQUNFQyxNQUFNO2dCQUNOSDtnQkFDQUksT0FBTztnQkFDUEMsTUFBTTtZQUNSO1NBQ0Q7UUFDRCxNQUFNQyxRQUFRLE1BQU1DLElBQUFBLGNBQW9CLEVBQUM7WUFBRUw7UUFBWTtRQUN2RE0sT0FBT0YsTUFBTUcsSUFBSSxDQUFDQyxLQUFLLEVBQUVDLElBQUksQ0FBQ1g7SUFDaEM7SUFDQUMsR0FBRyxzREFBc0Q7UUFDdkQsTUFBTVMsUUFBUTtRQUNkLE1BQU1FLE9BQU87WUFBRUgsTUFBTUM7UUFBTTtRQUMzQixNQUFNUixjQUFjO1lBQ2xCO2dCQUNFQyxNQUFNO2dCQUNOSDtnQkFDQUksT0FBTztnQkFDUEMsTUFBTTtZQUNSO1NBQ0Q7UUFDRCxNQUFNQyxRQUFRLE1BQU1DLElBQUFBLGNBQW9CLEVBQUM7WUFBRUs7WUFBTVY7UUFBWTtRQUM3RE0sT0FBT0YsTUFBTUcsSUFBSSxDQUFDQyxLQUFLLEVBQUVDLElBQUksQ0FBQ0Q7SUFDaEM7SUFDQVQsR0FBRywyREFBMkQ7UUFDNUQsTUFBTVksT0FBTztZQUFFQyxPQUFPO1FBQW1CO1FBQ3pDLE1BQU1DLFNBQVM7UUFDZixNQUFNYixjQUFjO1lBQ2xCO2dCQUNFQyxNQUFNO2dCQUNOSCxjQUFjLENBQUNnQjtvQkFDYixJQUFJLENBQUNBLEtBQUtELE1BQU0sRUFBRTt3QkFDaEIsT0FBTztvQkFDVDtvQkFDQSxJQUFJLENBQUNDLEtBQUtILElBQUksRUFBRTt3QkFDZCxPQUFPO29CQUNUO29CQUNBLE9BQU87Z0JBQ1Q7Z0JBQ0FULE9BQU87Z0JBQ1BDLE1BQU07WUFDUjtTQUNEO1FBQ0QsTUFBTUMsUUFBUSxNQUFNQyxJQUFBQSxjQUFvQixFQUFDO1lBQUVMO1lBQWFhO1lBQVFGO1FBQUs7UUFDckVMLE9BQU9GLE1BQU1HLElBQUksQ0FBQ0MsS0FBSyxFQUFFQyxJQUFJLENBQUNYO0lBQ2hDO0FBQ0YifQ==