feat(web-platform): release V0.8.3 常规界面优化
web-platform-release / Build and publish release (push) Has been cancelled
web-platform-ci / TypeScript, lint, unit, build (push) Has been cancelled
web-platform-ci / Playwright E2E (push) Has been cancelled
web-platform-ci / TypeScript, lint, unit, build (pull_request) Has been cancelled
web-platform-ci / Playwright E2E (pull_request) Has been cancelled
web-platform-release / Build and publish release (push) Has been cancelled
web-platform-ci / TypeScript, lint, unit, build (push) Has been cancelled
web-platform-ci / Playwright E2E (push) Has been cancelled
web-platform-ci / TypeScript, lint, unit, build (pull_request) Has been cancelled
web-platform-ci / Playwright E2E (pull_request) Has been cancelled
This commit is contained in:
@@ -9,8 +9,7 @@ const interactionProps = {
|
||||
canConvert: true,
|
||||
onBindInteraction: () => {},
|
||||
onSelectPreview: () => {},
|
||||
onTransformMode: () => {},
|
||||
onSnapping: () => {},
|
||||
onSessionStateChange: () => {},
|
||||
};
|
||||
const document: EditableMapDocument = {
|
||||
schemaVersion: 1,
|
||||
@@ -114,22 +113,61 @@ describe('MapEditorPanel', () => {
|
||||
expect(screen.getByLabelText('对象名称')).toHaveValue('认证方盒');
|
||||
});
|
||||
|
||||
it('锁定放置方式后禁用位姿编辑', () => {
|
||||
it('视口贴地命令通过会话端口锁定位姿编辑', async () => {
|
||||
let interaction: MapEditorInteractionCallbacks | null = null;
|
||||
let selectedId: string | null = null;
|
||||
render(
|
||||
<MapEditorPanel
|
||||
{...interactionProps}
|
||||
document={document}
|
||||
loading={false}
|
||||
onPreview={() => {}}
|
||||
onSelectPreview={(id) => {
|
||||
selectedId = id;
|
||||
}}
|
||||
onBindInteraction={(callbacks) => {
|
||||
interaction = callbacks;
|
||||
}}
|
||||
onApply={async () => true}
|
||||
onExport={() => {}}
|
||||
/>,
|
||||
);
|
||||
fireEvent.click(screen.getByRole('button', { name: '新增' }));
|
||||
fireEvent.change(screen.getByLabelText('对象放置方式'), { target: { value: 'locked' } });
|
||||
expect(selectedId).toBeTruthy();
|
||||
act(() =>
|
||||
(interaction as unknown as MapEditorInteractionCallbacks).onSetPlacementMode(
|
||||
selectedId!,
|
||||
'locked',
|
||||
),
|
||||
);
|
||||
await waitFor(() => expect(screen.getByText('锁定位姿')).toBeVisible());
|
||||
expect(screen.getByLabelText('对象位置X')).toBeDisabled();
|
||||
expect(screen.getByLabelText('对象绕Z旋转')).toBeDisabled();
|
||||
expect(screen.getByRole('button', { name: '对齐地面' })).toBeDisabled();
|
||||
});
|
||||
|
||||
it('把表面材质预设与三轴摩擦写入同一对象草稿', () => {
|
||||
const onDraftChange = vi.fn();
|
||||
render(
|
||||
<MapEditorPanel
|
||||
{...interactionProps}
|
||||
document={document}
|
||||
loading={false}
|
||||
onPreview={() => {}}
|
||||
onDraftChange={onDraftChange}
|
||||
onApply={async () => true}
|
||||
onExport={() => {}}
|
||||
/>,
|
||||
);
|
||||
fireEvent.click(screen.getByRole('button', { name: '新增' }));
|
||||
fireEvent.change(screen.getByLabelText('对象表面材质'), { target: { value: 'rubber' } });
|
||||
expect(screen.getByLabelText('对象滑动摩擦')).toHaveValue(1.5);
|
||||
expect(onDraftChange).toHaveBeenLastCalledWith(
|
||||
'maps/map/map.json',
|
||||
expect.objectContaining({
|
||||
objects: [expect.objectContaining({ friction: [1.5, 0.008, 0.0002] })],
|
||||
}),
|
||||
true,
|
||||
);
|
||||
});
|
||||
|
||||
it('编辑出生点并包含在应用文档中', async () => {
|
||||
|
||||
Reference in New Issue
Block a user