mirror of
https://github.com/Tencent/tmagic-editor.git
synced 2026-09-19 10:26:21 +00:00
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
/**
|
|
* formPlugin.install 会 setConfig 整对象替换。
|
|
* mergeFormInstallOptions 把宿主 $MAGIC_FORM 与 formOptions 浅合并。
|
|
*/
|
|
import { describe, expect, it, vi } from 'vitest';
|
|
|
|
import { mergeFormInstallOptions } from '../src/mergeFormOptions';
|
|
|
|
describe('mergeFormInstallOptions', () => {
|
|
const hostRequest = vi.fn();
|
|
const hostFields = { select: { component: { name: 'HostSelect' } } };
|
|
const host = { request: hostRequest, flat: true, fields: hostFields };
|
|
|
|
it('无 formOptions 时原样带回宿主配置,避免二次安装清空', () => {
|
|
expect(mergeFormInstallOptions(host)).toEqual(host);
|
|
expect(mergeFormInstallOptions(host, {})).toEqual(host);
|
|
});
|
|
|
|
it('formOptions 只覆盖传入的键,保留宿主其余配置', () => {
|
|
const request = vi.fn();
|
|
|
|
expect(mergeFormInstallOptions(host, { request })).toEqual({
|
|
request,
|
|
flat: true,
|
|
fields: hostFields,
|
|
});
|
|
});
|
|
|
|
it('没有宿主配置时只使用 formOptions', () => {
|
|
const request = vi.fn();
|
|
|
|
expect(mergeFormInstallOptions(undefined, { request })).toEqual({ request });
|
|
expect(mergeFormInstallOptions(undefined)).toEqual({});
|
|
});
|
|
});
|