2023-05-29 11:33:44 +08:00

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');
});
});