Skip to content

Commit 37dbfe9

Browse files
committed
test: 修复单测
1 parent b8b2658 commit 37dbfe9

6 files changed

Lines changed: 35 additions & 22 deletions

File tree

packages/designer/jest.config.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1-
const esModules = ['@recore/obx-react'].join('|');
1+
const fs = require('fs');
2+
const { join } = require('path');
3+
const esModules = ['zen-logger'].join('|');
4+
const pkgNames = fs.readdirSync(join('..')).filter(pkgName => !pkgName.startsWith('.'));
25

3-
module.exports = {
6+
const jestConfig = {
47
// transform: {
58
// '^.+\\.[jt]sx?$': 'babel-jest',
69
// // '^.+\\.(ts|tsx)$': 'ts-jest',
710
// // '^.+\\.(js|jsx)$': 'babel-jest',
811
// },
912
// testMatch: ['**/document/node/node.test.ts'],
10-
// testMatch: ['**/designer/bultin-hotkey.test.ts'],
13+
// testMatch: ['**/designer/builtin-hotkey.test.ts'],
1114
// testMatch: ['**/plugin/plugin-manager.test.ts'],
1215
// testMatch: ['(/tests?/.*(test))\\.[jt]s$'],
1316
transformIgnorePatterns: [
@@ -32,3 +35,9 @@ module.exports = {
3235
'!**/vendor/**',
3336
],
3437
};
38+
39+
// 只对本仓库内的 pkg 做 mapping
40+
jestConfig.moduleNameMapper = {};
41+
jestConfig.moduleNameMapper[`^@alilc/lowcode\\-(${pkgNames.join('|')})$`] = '<rootDir>/../$1/src';
42+
43+
module.exports = jestConfig;

packages/designer/tests/designer/active-tracker.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import '../fixtures/window';
12
import { ActiveTracker } from '../../src/designer/active-tracker';
23

34
it('ActiveTracker 测试,Node', () => {

packages/designer/tests/designer/builtin-hotkey.test.ts

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import '../fixtures/window';
22
import { Editor, globalContext } from '@alilc/lowcode-editor-core';
33
import { Designer } from '../../src/designer/designer';
44
import formSchema from '../fixtures/schema/form';
5+
import '../../src/designer/builtin-hotkey';
56
import { fireEvent } from '@testing-library/react';
67

78
const editor = new Editor();
@@ -242,49 +243,50 @@ describe('快捷键测试', () => {
242243
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
243244
});
244245
it('isFormEvent: true', () => {
246+
const inputDOMNode = document.createElement('INPUT');
245247
designer.currentDocument?.selection.select('page');
246248
// nothing happened
247249

248-
fireEvent.keyDown(document, { keyCode: 39 });
250+
fireEvent.keyDown(inputDOMNode, { keyCode: 39 });
249251
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
250252

251-
fireEvent.keyDown(document, { keyCode: 37 });
253+
fireEvent.keyDown(inputDOMNode, { keyCode: 37 });
252254
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
253255

254-
fireEvent.keyDown(document, { keyCode: 40 });
256+
fireEvent.keyDown(inputDOMNode, { keyCode: 40 });
255257
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
256258

257-
fireEvent.keyDown(document, { keyCode: 38 });
259+
fireEvent.keyDown(inputDOMNode, { keyCode: 38 });
258260
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
259261

260-
fireEvent.keyDown(document, { keyCode: 39, altKey: true });
262+
fireEvent.keyDown(inputDOMNode, { keyCode: 39, altKey: true });
261263
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
262264

263-
fireEvent.keyDown(document, { keyCode: 37, altKey: true });
265+
fireEvent.keyDown(inputDOMNode, { keyCode: 37, altKey: true });
264266
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
265267

266-
fireEvent.keyDown(document, { keyCode: 40, altKey: true });
268+
fireEvent.keyDown(inputDOMNode, { keyCode: 40, altKey: true });
267269
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
268270

269-
fireEvent.keyDown(document, { keyCode: 38, altKey: true });
271+
fireEvent.keyDown(inputDOMNode, { keyCode: 38, altKey: true });
270272
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
271273

272-
fireEvent.keyDown(document, { keyCode: 90, metaKey: true });
274+
fireEvent.keyDown(inputDOMNode, { keyCode: 90, metaKey: true });
273275
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
274276

275-
fireEvent.keyDown(document, { keyCode: 89, metaKey: true });
277+
fireEvent.keyDown(inputDOMNode, { keyCode: 89, metaKey: true });
276278
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
277279

278-
fireEvent.keyDown(document, { keyCode: 67, metaKey: true });
280+
fireEvent.keyDown(inputDOMNode, { keyCode: 67, metaKey: true });
279281
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
280282

281-
fireEvent.keyDown(document, { keyCode: 86, metaKey: true });
283+
fireEvent.keyDown(inputDOMNode, { keyCode: 86, metaKey: true });
282284
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
283285

284-
fireEvent.keyDown(document, { keyCode: 27 });
286+
fireEvent.keyDown(inputDOMNode, { keyCode: 27 });
285287
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
286288

287-
fireEvent.keyDown(document, { keyCode: 46 });
289+
fireEvent.keyDown(inputDOMNode, { keyCode: 46 });
288290
expect(designer.currentDocument?.selection.selected[0]).toBe('page');
289291
});
290292
});

packages/designer/tests/designer/setting/setting-prop-entry.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ describe('setting-prop-entry 测试', () => {
7575
const prop1 = mockTopEntry.getProp('a');
7676
prop1.extraProps = {
7777
getValue: (prop, val) => `prefix ${val}`,
78-
setValue: (prop, val) => { prop.setValue(`modified ${val}`, false, false, { disableMutator: true }) },
78+
// prop 是 shell prop entry
79+
setValue: (prop, val) => { prop.setValue(`modified ${val}`, { disableMutator: true }) },
7980
defaultValue: 'default',
8081
};
8182

packages/designer/tests/fixtures/window.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@ Object.defineProperty(window, 'React', {
1818
});
1919

2020
window.scrollTo = () => {};
21-
2221
window.console.warn = () => {};
22+
window.React = window.React || {};

packages/shell/src/setting-prop-entry.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { SettingField } from '@alilc/lowcode-designer';
1+
import { SettingField, ISetValueOptions } from '@alilc/lowcode-designer';
22
import { CompositeValue, FieldConfig } from '@alilc/lowcode-types';
33
import { settingPropEntrySymbol } from './symbols';
44
import Node from './node';
@@ -111,8 +111,8 @@ export default class SettingPropEntry {
111111
* 设置值
112112
* @param val 值
113113
*/
114-
setValue(val: CompositeValue) {
115-
this[settingPropEntrySymbol].setValue(val);
114+
setValue(val: CompositeValue, extraOptions?: ISetValueOptions) {
115+
this[settingPropEntrySymbol].setValue(val, false, false, extraOptions);
116116
}
117117

118118
/**

0 commit comments

Comments
 (0)