mirror of
https://gitee.com/baidu/amis.git
synced 2024-12-04 21:19:01 +08:00
73 lines
1.9 KiB
TypeScript
73 lines
1.9 KiB
TypeScript
|
import React = require('react');
|
||
|
import {render, cleanup} from 'react-testing-library';
|
||
|
import '../../../src/themes/default';
|
||
|
import {
|
||
|
render as amisRender
|
||
|
} from '../../../src/index';
|
||
|
import {makeEnv, wait} from '../../helper';
|
||
|
import { clearStoresCache } from '../../../src/factory';
|
||
|
|
||
|
afterEach(() => {
|
||
|
cleanup();
|
||
|
clearStoresCache();
|
||
|
});
|
||
|
|
||
|
test('Renderer:service', async () => {
|
||
|
const fetcher = jest.fn().mockImplementation(() => Promise.resolve({
|
||
|
data: {
|
||
|
status: 0,
|
||
|
msg: 'ok',
|
||
|
data: {
|
||
|
controls: [
|
||
|
{type: "text", label: "动态字段1", name: "dy_1", required: true},
|
||
|
{type: "text", label: "动态字段2", name: "dy_2"}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
}));
|
||
|
|
||
|
const {
|
||
|
container
|
||
|
} = render(amisRender({
|
||
|
type: 'form',
|
||
|
title: 'The form',
|
||
|
controls: [
|
||
|
{
|
||
|
name: 'tpl',
|
||
|
type: 'select',
|
||
|
label: '模板',
|
||
|
inline: true,
|
||
|
required: true,
|
||
|
value: 'tpl1',
|
||
|
options: [
|
||
|
{
|
||
|
label: '模板1',
|
||
|
value: 'tpl1'
|
||
|
},
|
||
|
{
|
||
|
label: '模板2',
|
||
|
value: 'tpl2'
|
||
|
},
|
||
|
{
|
||
|
label: '模板3',
|
||
|
value: 'tpl3'
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
type: 'service',
|
||
|
className: 'm-t',
|
||
|
initFetchSchemaOn: 'data.tpl',
|
||
|
schemaApi: 'https://houtai.baidu.com/api/mock2/service/form?tpl=$tpl'
|
||
|
}
|
||
|
],
|
||
|
submitText: null,
|
||
|
actions: []
|
||
|
}, {}, makeEnv({
|
||
|
fetcher
|
||
|
})));
|
||
|
|
||
|
await wait(100);
|
||
|
expect(fetcher).toHaveBeenCalled();
|
||
|
expect(container).toMatchSnapshot();
|
||
|
});
|