chore: jest 使用 @swc/jest 编译,提升性能

This commit is contained in:
wuduoyi 2024-02-02 13:55:23 +08:00
parent d6208f8d05
commit dc76dda5cd
20 changed files with 213 additions and 59 deletions

23
.swcrc Normal file
View File

@ -0,0 +1,23 @@
{
"$schema": "https://json.schemastore.org/swcrc",
"jsc": {
"parser": {
"syntax": "typescript",
"tsx": true,
"decorators": true,
"dynamicImport": true
},
"transform": {
"decoratorMetadata": true,
"legacyDecorator": true,
"react": {
"runtime": "classic"
}
},
"keepClassNames": true,
"externalHelpers": true,
"loose": false
},
"sourceMaps": true,
"minify": false
}

View File

@ -63,7 +63,13 @@ npm test --workspaces
# 测试某个用例 # 测试某个用例
# <spec-name>为用例名称比如inputImage # <spec-name>为用例名称比如inputImage
npm test --workspace amis <spec-name> npm test --workspace amis -- -t <spec-name>
# 运行某个单测文件
./node_modules/.bin/jest packages/amis/__tests__/renderers/Form/buttonToolBar.test.tsx
# 运行某个单测文件里的某个例子
./node_modules/.bin/jest packages/amis/__tests__/renderers/Form/buttonToolBar.test.tsx -t 'Renderer:button-toolbar'
# 查看测试用例覆盖率 # 查看测试用例覆盖率
npm run coverage npm run coverage
@ -73,7 +79,7 @@ npm run update-snapshot
# 更新单个 snapshot # 更新单个 snapshot
# <spec-name>为用例名称比如inputImage # <spec-name>为用例名称比如inputImage
npm run update-snapshot --workspace amis <spec-name> npm run update-snapshot --workspace amis -- -t <spec-name>
``` ```
### 发布版本 ### 发布版本

View File

@ -52,6 +52,9 @@
"@babel/types": "^7.22.5", "@babel/types": "^7.22.5",
"@fortawesome/fontawesome-free": "^6.1.1", "@fortawesome/fontawesome-free": "^6.1.1",
"@rollup/plugin-replace": "^5.0.1", "@rollup/plugin-replace": "^5.0.1",
"@swc/core": "^1.3.107",
"@swc/helpers": "^0.5.3",
"@swc/jest": "^0.2.34",
"@types/express": "^4.17.14", "@types/express": "^4.17.14",
"@types/jest": "^28.1.0", "@types/jest": "^28.1.0",
"@types/js-yaml": "^4.0.5", "@types/js-yaml": "^4.0.5",
@ -117,7 +120,9 @@
"tsx", "tsx",
"js" "js"
], ],
"preset": "ts-jest", "transform": {
"^.+\\.(t|j)sx?$": "@swc/jest"
},
"setupFiles": [ "setupFiles": [
"jest-canvas-mock" "jest-canvas-mock"
], ],
@ -144,4 +149,4 @@
"printBasicPrototype": false "printBasicPrototype": false
} }
} }
} }

22
packages/amis-core/.swcrc Normal file
View File

@ -0,0 +1,22 @@
{
"$schema": "https://json.schemastore.org/swcrc",
"jsc": {
"parser": {
"syntax": "typescript",
"tsx": true,
"decorators": true,
"dynamicImport": true
},
"transform": {
"decoratorMetadata": true,
"legacyDecorator": true,
"react": {
"runtime": "classic"
}
},
"keepClassNames": true,
"externalHelpers": true,
"loose": false
},
"minify": false
}

View File

@ -85,12 +85,7 @@
"js" "js"
], ],
"transform": { "transform": {
"\\.(ts|tsx)$": [ "^.+\\.(t|j)sx?$": "@swc/jest"
"ts-jest",
{
"diagnostics": false
}
]
}, },
"setupFiles": [ "setupFiles": [
"jest-canvas-mock" "jest-canvas-mock"
@ -109,4 +104,4 @@
] ]
}, },
"gitHead": "37d23b4a8eb1c663bc38e8dd9040889ea1526ec4" "gitHead": "37d23b4a8eb1c663bc38e8dd9040889ea1526ec4"
} }

View File

@ -95,12 +95,7 @@
"js" "js"
], ],
"transform": { "transform": {
"\\.(ts|tsx)$": [ "^.+\\.(t|j)sx?$": "@swc/jest"
"ts-jest",
{
"diagnostics": false
}
]
}, },
"setupFiles": [ "setupFiles": [
"jest-canvas-mock" "jest-canvas-mock"
@ -119,4 +114,4 @@
} }
}, },
"gitHead": "37d23b4a8eb1c663bc38e8dd9040889ea1526ec4" "gitHead": "37d23b4a8eb1c663bc38e8dd9040889ea1526ec4"
} }

View File

@ -123,12 +123,7 @@
"js" "js"
], ],
"transform": { "transform": {
"\\.(ts|tsx)$": [ "^.+\\.(t|j)sx?$": "@swc/jest"
"ts-jest",
{
"diagnostics": false
}
]
}, },
"setupFiles": [ "setupFiles": [
"jest-canvas-mock" "jest-canvas-mock"
@ -148,4 +143,4 @@
] ]
}, },
"gitHead": "37d23b4a8eb1c663bc38e8dd9040889ea1526ec4" "gitHead": "37d23b4a8eb1c663bc38e8dd9040889ea1526ec4"
} }

22
packages/amis/.swcrc Normal file
View File

@ -0,0 +1,22 @@
{
"$schema": "https://json.schemastore.org/swcrc",
"jsc": {
"parser": {
"syntax": "typescript",
"tsx": true,
"decorators": true,
"dynamicImport": true
},
"transform": {
"decoratorMetadata": true,
"legacyDecorator": true,
"react": {
"runtime": "classic"
}
},
"keepClassNames": true,
"externalHelpers": true,
"loose": false
},
"minify": false
}

View File

@ -5,7 +5,8 @@ import {makeEnv, wait} from '../helper';
test('1. EventAction:dialog args', async () => { test('1. EventAction:dialog args', async () => {
const notify = jest.fn(); const notify = jest.fn();
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -142,6 +143,8 @@ test('1. EventAction:dialog args', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
// events // events
fireEvent.click(getByText('打开弹窗')); fireEvent.click(getByText('打开弹窗'));
@ -222,7 +225,8 @@ test('1. EventAction:dialog args', async () => {
test('2. EventAction:dialog', async () => { test('2. EventAction:dialog', async () => {
const notify = jest.fn(); const notify = jest.fn();
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -356,6 +360,9 @@ test('2. EventAction:dialog', async () => {
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
// events // events
fireEvent.click(getByText('打开弹窗')); fireEvent.click(getByText('打开弹窗'));
expect(container).toMatchSnapshot(); expect(container).toMatchSnapshot();
@ -434,7 +441,8 @@ test('2. EventAction:dialog', async () => {
}, 7000); }, 7000);
test('3. EventAction:dialog data', async () => { test('3. EventAction:dialog data', async () => {
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -480,7 +488,8 @@ test('3. EventAction:dialog data', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
// events // events
fireEvent.click(getByText('打开弹窗')); fireEvent.click(getByText('打开弹窗'));
await waitFor(() => { await waitFor(() => {
@ -491,7 +500,8 @@ test('3. EventAction:dialog data', async () => {
}, 7000); }, 7000);
test('4. EventAction:dialog data2', async () => { test('4. EventAction:dialog data2', async () => {
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -535,6 +545,8 @@ test('4. EventAction:dialog data2', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
// events // events
fireEvent.click(getByText('打开弹窗')); fireEvent.click(getByText('打开弹窗'));

View File

@ -5,7 +5,8 @@ import {makeEnv, wait} from '../helper';
test('EventAction:drawer args', async () => { test('EventAction:drawer args', async () => {
const notify = jest.fn(); const notify = jest.fn();
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -142,6 +143,8 @@ test('EventAction:drawer args', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
// events // events
fireEvent.click(getByText('打开抽屉')); fireEvent.click(getByText('打开抽屉'));
@ -222,7 +225,8 @@ test('EventAction:drawer args', async () => {
test('EventAction:drawer', async () => { test('EventAction:drawer', async () => {
const notify = jest.fn(); const notify = jest.fn();
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -356,6 +360,9 @@ test('EventAction:drawer', async () => {
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
// events // events
fireEvent.click(getByText('打开抽屉')); fireEvent.click(getByText('打开抽屉'));
expect(container).toMatchSnapshot(); expect(container).toMatchSnapshot();
@ -434,7 +441,8 @@ test('EventAction:drawer', async () => {
}, 7000); }, 7000);
test('EventAction:drawer data', async () => { test('EventAction:drawer data', async () => {
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -480,6 +488,8 @@ test('EventAction:drawer data', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
// events // events
fireEvent.click(getByText('打开抽屉')); fireEvent.click(getByText('打开抽屉'));
@ -491,7 +501,8 @@ test('EventAction:drawer data', async () => {
}, 7000); }, 7000);
test('EventAction:drawer data2', async () => { test('EventAction:drawer data2', async () => {
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -536,6 +547,9 @@ test('EventAction:drawer data2', async () => {
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
// events // events
fireEvent.click(getByText('打开抽屉')); fireEvent.click(getByText('打开抽屉'));
await waitFor(() => { await waitFor(() => {

View File

@ -16,7 +16,8 @@ test('EventAction:prevent', async () => {
} }
}) })
); );
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -84,6 +85,8 @@ test('EventAction:prevent', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
fireEvent.click(getByText('打开弹窗')); fireEvent.click(getByText('打开弹窗'));
await waitFor(() => { await waitFor(() => {
@ -111,7 +114,8 @@ test('EventAction:ignoreError', async () => {
} }
}) })
); );
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -156,6 +160,8 @@ test('EventAction:ignoreError', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
fireEvent.click(getByText('按钮')); fireEvent.click(getByText('按钮'));
await waitFor(() => { await waitFor(() => {

View File

@ -193,7 +193,8 @@ test('CRUD reload dialog1', async () => {
} }
}); });
}); });
const {container, getByText}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -244,6 +245,8 @@ test('CRUD reload dialog1', async () => {
makeEnv({fetcher: mockFetcher, getModalContainer: () => container}) makeEnv({fetcher: mockFetcher, getModalContainer: () => container})
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
await wait(200); await wait(200);
const saveBtn = container.querySelectorAll('tbody>tr button')[0]; const saveBtn = container.querySelectorAll('tbody>tr button')[0];
expect(saveBtn).toBeTruthy(); expect(saveBtn).toBeTruthy();
@ -287,7 +290,8 @@ test('CRUD reload dialog2', async () => {
} }
}); });
}); });
const {container, getByText}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -339,6 +343,8 @@ test('CRUD reload dialog2', async () => {
makeEnv({fetcher: mockFetcher, getModalContainer: () => container}) makeEnv({fetcher: mockFetcher, getModalContainer: () => container})
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
await wait(200); await wait(200);
const saveBtn = container.querySelectorAll('tbody>tr button')[0]; const saveBtn = container.querySelectorAll('tbody>tr button')[0];
expect(saveBtn).toBeTruthy(); expect(saveBtn).toBeTruthy();
@ -378,7 +384,8 @@ test('CRUD reload drawer1', async () => {
} }
}); });
}); });
const {container, getByText}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -429,6 +436,8 @@ test('CRUD reload drawer1', async () => {
makeEnv({fetcher: mockFetcher, getModalContainer: () => container}) makeEnv({fetcher: mockFetcher, getModalContainer: () => container})
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
await wait(200); await wait(200);
const saveBtn = container.querySelectorAll('tbody>tr button')[0]; const saveBtn = container.querySelectorAll('tbody>tr button')[0];
expect(saveBtn).toBeTruthy(); expect(saveBtn).toBeTruthy();
@ -472,7 +481,8 @@ test('CRUD reload drawer2', async () => {
} }
}); });
}); });
const {container, getByText}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -524,6 +534,8 @@ test('CRUD reload drawer2', async () => {
makeEnv({fetcher: mockFetcher, getModalContainer: () => container}) makeEnv({fetcher: mockFetcher, getModalContainer: () => container})
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
await wait(200); await wait(200);
const saveBtn = container.querySelectorAll('tbody>tr button')[0]; const saveBtn = container.querySelectorAll('tbody>tr button')[0];
expect(saveBtn).toBeTruthy(); expect(saveBtn).toBeTruthy();

View File

@ -162,7 +162,8 @@ test('Picker filter1', async () => {
} }
}); });
}); });
const {container} = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -217,6 +218,8 @@ test('Picker filter1', async () => {
makeEnv({fetcher: mockFetcher, getModalContainer: () => container} as any) makeEnv({fetcher: mockFetcher, getModalContainer: () => container} as any)
) )
); );
container = renderResult.container;
await wait(200); await wait(200);
const pickerBtn = container.querySelector('span.cxd-Picker-btn')!; const pickerBtn = container.querySelector('span.cxd-Picker-btn')!;
expect(pickerBtn).toBeTruthy(); expect(pickerBtn).toBeTruthy();
@ -249,7 +252,8 @@ test('Picker filter2', async () => {
} }
}); });
}); });
const {container} = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -295,6 +299,8 @@ test('Picker filter2', async () => {
makeEnv({fetcher: mockFetcher, getModalContainer: () => container} as any) makeEnv({fetcher: mockFetcher, getModalContainer: () => container} as any)
) )
); );
container = renderResult.container;
await wait(200); await wait(200);
const pickerBtn = container.querySelector('span.cxd-Picker-btn')!; const pickerBtn = container.querySelector('span.cxd-Picker-btn')!;
expect(pickerBtn).toBeTruthy(); expect(pickerBtn).toBeTruthy();

View File

@ -11,7 +11,8 @@ afterEach(() => {
}); });
test('Renderer:button', async () => { test('Renderer:button', async () => {
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'form', type: 'form',
@ -55,6 +56,8 @@ test('Renderer:button', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
expect(container).toMatchSnapshot(); expect(container).toMatchSnapshot();
fireEvent.click(getByText(/OpenDialog/)); fireEvent.click(getByText(/OpenDialog/));
await wait(300); await wait(300);

View File

@ -16,7 +16,8 @@ afterEach(() => {
}); });
test('Renderer:button-toolbar', async () => { test('Renderer:button-toolbar', async () => {
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'form', type: 'form',
@ -55,6 +56,8 @@ test('Renderer:button-toolbar', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
expect(container).toMatchSnapshot(); expect(container).toMatchSnapshot();
fireEvent.click(getByText(/OpenDialog/)); fireEvent.click(getByText(/OpenDialog/));
await wait(300); await wait(300);

View File

@ -78,10 +78,13 @@ test('Renderer:input-formula', async () => {
) )
); );
await wait(500); // await wait(500);
expect(container).toMatchSnapshot();
await findByDisplayValue('SUM(1 + 2)'); await findByDisplayValue('SUM(1 + 2)');
// TODO: 不知道为啥切换到 @swc/jest 后不支持
// expect(container).toMatchSnapshot();
// TODO: 貌似 jsdom 不支持 codemirror进行不下去了 // TODO: 貌似 jsdom 不支持 codemirror进行不下去了
// const action = document.querySelector('button.cxd-FormulaPicker-action'); // const action = document.querySelector('button.cxd-FormulaPicker-action');

View File

@ -585,7 +585,8 @@ test('Renderer:Nav with icons', async () => {
// 9.Nav在Dialog里 // 9.Nav在Dialog里
test('Renderer:Nav with Dialog', async () => { test('Renderer:Nav with Dialog', async () => {
const {container, getByText} = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -678,6 +679,8 @@ test('Renderer:Nav with Dialog', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
expect(container).toMatchSnapshot(); expect(container).toMatchSnapshot();
fireEvent.click(getByText('点击弹框')); fireEvent.click(getByText('点击弹框'));

View File

@ -687,7 +687,8 @@ test('Renderer:Page handleAction actionType=url|link', async () => {
}); });
test('Renderer:Page handleAction actionType=dialog default', async () => { test('Renderer:Page handleAction actionType=dialog default', async () => {
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -708,6 +709,8 @@ test('Renderer:Page handleAction actionType=dialog default', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
await waitFor(() => { await waitFor(() => {
expect(getByText('OpenDialog')).toBeInTheDocument(); expect(getByText('OpenDialog')).toBeInTheDocument();
@ -728,7 +731,8 @@ test('Renderer:Page handleAction actionType=dialog default', async () => {
}); });
test('Renderer:Page handleAction actionType=dialog mergeData', async () => { test('Renderer:Page handleAction actionType=dialog mergeData', async () => {
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -767,6 +771,8 @@ test('Renderer:Page handleAction actionType=dialog mergeData', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
await waitFor(() => { await waitFor(() => {
expect(getByText('OpenDialog')).toBeInTheDocument(); expect(getByText('OpenDialog')).toBeInTheDocument();
@ -787,7 +793,8 @@ test('Renderer:Page handleAction actionType=dialog mergeData', async () => {
}); });
test('Renderer:Page handleAction actionType=drawer default', async () => { test('Renderer:Page handleAction actionType=drawer default', async () => {
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -808,6 +815,8 @@ test('Renderer:Page handleAction actionType=drawer default', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
await waitFor(() => { await waitFor(() => {
expect(getByText('OpenDrawer')).toBeInTheDocument(); expect(getByText('OpenDrawer')).toBeInTheDocument();
@ -827,7 +836,8 @@ test('Renderer:Page handleAction actionType=drawer default', async () => {
}); });
test('Renderer:Page handleAction actionType=drawer mergeData', async () => { test('Renderer:Page handleAction actionType=drawer mergeData', async () => {
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -866,6 +876,8 @@ test('Renderer:Page handleAction actionType=drawer mergeData', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
await waitFor(() => { await waitFor(() => {
expect(getByText('OpenDrawer')).toBeInTheDocument(); expect(getByText('OpenDrawer')).toBeInTheDocument();
@ -898,7 +910,8 @@ test('Renderer:Page handleAction actionType=ajax', async () => {
} }
}) })
); );
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -919,6 +932,8 @@ test('Renderer:Page handleAction actionType=ajax', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
await waitFor(() => { await waitFor(() => {
expect(getByText('RequestAjax')).toBeInTheDocument(); expect(getByText('RequestAjax')).toBeInTheDocument();
@ -974,7 +989,8 @@ test('Renderer:Page handleAction actionType=ajax & feedback', async () => {
} }
}) })
); );
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -998,6 +1014,8 @@ test('Renderer:Page handleAction actionType=ajax & feedback', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
fireEvent.click(getByText(/RequestAjax/)); fireEvent.click(getByText(/RequestAjax/));
await waitFor(() => { await waitFor(() => {
@ -1169,7 +1187,8 @@ test('Renderer:Page initApi reload by Dialog action', async () => {
} }
}) })
); );
const {container, getByText, rerender}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -1205,6 +1224,8 @@ test('Renderer:Page initApi reload by Dialog action', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
await waitFor(() => { await waitFor(() => {
expect(getByText('The variable value is 1')).toBeInTheDocument(); expect(getByText('The variable value is 1')).toBeInTheDocument();
@ -1246,7 +1267,8 @@ test('Renderer:Page initApi reload by Drawer action', async () => {
} }
}) })
); );
const {container, getByText, rerender}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -1282,6 +1304,8 @@ test('Renderer:Page initApi reload by Drawer action', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
await waitFor(() => { await waitFor(() => {
expect(getByText('The variable value is 1')).toBeInTheDocument(); expect(getByText('The variable value is 1')).toBeInTheDocument();
@ -1323,7 +1347,8 @@ test('Renderer:Page initApi reload by Form submit', async () => {
} }
}) })
); );
const {container, getByText, rerender}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -1358,6 +1383,8 @@ test('Renderer:Page initApi reload by Form submit', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
await waitFor(() => { await waitFor(() => {
expect(getByText(/Submit/)).toBeInTheDocument(); expect(getByText(/Submit/)).toBeInTheDocument();

View File

@ -1420,7 +1420,8 @@ test('Renderer:Wizard target', async () => {
}); });
test('Renderer:Wizard dialog', async () => { test('Renderer:Wizard dialog', async () => {
const {getByText, container}: any = render( let container: HTMLElement;
const renderResult: any = render(
amisRender( amisRender(
{ {
type: 'page', type: 'page',
@ -1477,6 +1478,8 @@ test('Renderer:Wizard dialog', async () => {
}) })
) )
); );
const getByText = renderResult.getByText;
container = renderResult.container;
await waitFor(() => { await waitFor(() => {
expect(getByText(/OpenDialog/)).toBeInTheDocument(); expect(getByText(/OpenDialog/)).toBeInTheDocument();
@ -1545,5 +1548,4 @@ test('Renderer:Wizard mode', async () => {
expect(steps[0].className).toBe('is-finish'); expect(steps[0].className).toBe('is-finish');
expect(steps[1].className).toBe('is-process'); expect(steps[1].className).toBe('is-process');
}); });
}); });

View File

@ -244,4 +244,4 @@
"react-dom": ">=16.8.6" "react-dom": ">=16.8.6"
}, },
"gitHead": "37d23b4a8eb1c663bc38e8dd9040889ea1526ec4" "gitHead": "37d23b4a8eb1c663bc38e8dd9040889ea1526ec4"
} }