mirror of
https://github.com/Tencent/tmagic-editor.git
synced 2025-04-05 19:41:40 +08:00
79 lines
1.6 KiB
TypeScript
79 lines
1.6 KiB
TypeScript
import { describe, expect, test } from 'vitest';
|
|
|
|
import { DataSchema } from '@tmagic/schema';
|
|
|
|
import * as util from '@data-source/util';
|
|
|
|
describe('getDefaultValueFromFields', () => {
|
|
test('最简单', () => {
|
|
const fileds = [
|
|
{
|
|
name: 'name',
|
|
},
|
|
];
|
|
const data = util.getDefaultValueFromFields(fileds);
|
|
expect(data).toHaveProperty('name');
|
|
});
|
|
|
|
test('默认值为string', () => {
|
|
const fileds = [
|
|
{
|
|
name: 'name',
|
|
defaultValue: 'name',
|
|
},
|
|
];
|
|
const data = util.getDefaultValueFromFields(fileds);
|
|
expect(data.name).toBe('name');
|
|
});
|
|
|
|
test('type 为 object', () => {
|
|
const fileds: DataSchema[] = [
|
|
{
|
|
type: 'object',
|
|
name: 'name',
|
|
},
|
|
];
|
|
const data = util.getDefaultValueFromFields(fileds);
|
|
expect(data.name).toEqual({});
|
|
});
|
|
|
|
test('type 为 array', () => {
|
|
const fileds: DataSchema[] = [
|
|
{
|
|
type: 'array',
|
|
name: 'name',
|
|
},
|
|
];
|
|
const data = util.getDefaultValueFromFields(fileds);
|
|
expect(data.name).toEqual([]);
|
|
});
|
|
|
|
test('type 为 null', () => {
|
|
const fileds: DataSchema[] = [
|
|
{
|
|
type: 'null',
|
|
name: 'name',
|
|
},
|
|
];
|
|
const data = util.getDefaultValueFromFields(fileds);
|
|
expect(data.name).toBeNull();
|
|
});
|
|
|
|
test('object 嵌套', () => {
|
|
const fileds: DataSchema[] = [
|
|
{
|
|
type: 'object',
|
|
name: 'name',
|
|
fields: [
|
|
{
|
|
name: 'key',
|
|
defaultValue: 'key',
|
|
},
|
|
],
|
|
},
|
|
];
|
|
const data = util.getDefaultValueFromFields(fileds);
|
|
expect(data.name.key).toBe('key');
|
|
});
|
|
});
|