feat: unify mobile vehicle diagnostics
This commit is contained in:
@@ -409,18 +409,32 @@ test('allows provider maintenance but keeps canonical source policy read only',
|
||||
const client = new QueryClient({ defaultOptions: { queries: { retry: false } } });
|
||||
renderOperations(client);
|
||||
fireEvent.click(screen.getByRole('tab', { name: '单车诊断' }));
|
||||
fireEvent.change(screen.getByLabelText('按车牌或 VIN 搜索诊断车辆'), { target: { value: '沪A' } });
|
||||
const filterToggle = screen.getByRole('button', { name: '修改诊断车辆:尚未选择车辆' });
|
||||
expect(filterToggle).toHaveAttribute('aria-expanded', 'false');
|
||||
fireEvent.click(filterToggle);
|
||||
const filterDialog = await screen.findByRole('dialog', { name: '诊断车辆筛选' });
|
||||
expect(document.querySelector('.v2-source-mobile-filter-sidesheet')).toHaveClass('semi-sidesheet-bottom');
|
||||
expect(document.querySelector('.v2-source-mobile-filter-sidesheet .semi-sidesheet-inner')).toHaveStyle({ height: 'min(78dvh, 660px)' });
|
||||
fireEvent.change(within(filterDialog).getByLabelText('按车牌或 VIN 搜索诊断车辆'), { target: { value: '沪A' } });
|
||||
const candidateButton = await waitFor(() => {
|
||||
const button = document.querySelector<HTMLButtonElement>('.v2-source-candidates button');
|
||||
const button = filterDialog.querySelector<HTMLButtonElement>('.v2-source-candidates button');
|
||||
expect(button).toBeTruthy();
|
||||
return button!;
|
||||
});
|
||||
fireEvent.click(candidateButton);
|
||||
|
||||
expect(await screen.findByText('协议融合快照只能维护提供方')).toBeInTheDocument();
|
||||
expect(screen.getByRole('button', { name: '修改诊断车辆:已选 沪A00001' })).toHaveAttribute('aria-expanded', 'false');
|
||||
expect(document.querySelector('.v2-source-filter-panel')).toHaveClass('is-mobile-collapsed');
|
||||
expect(document.querySelector('.v2-source-search')).toHaveClass('is-mobile-collapsed');
|
||||
const selectedToggle = screen.getByRole('button', { name: '修改诊断车辆:已选 沪A00001' });
|
||||
expect(selectedToggle).toHaveAttribute('aria-expanded', 'false');
|
||||
expect(filterDialog).toHaveClass('semi-sidesheet-animation-content_hide_bottom');
|
||||
fireEvent.click(selectedToggle);
|
||||
const selectedSearch = within(filterDialog).getByLabelText('按车牌或 VIN 搜索诊断车辆');
|
||||
expect(selectedSearch).toHaveValue('沪A00001');
|
||||
fireEvent.change(selectedSearch, { target: { value: '其他车辆' } });
|
||||
fireEvent.click(within(filterDialog).getByRole('button', { name: '关闭诊断车辆筛选' }));
|
||||
fireEvent.click(selectedToggle);
|
||||
expect(selectedSearch).toHaveValue('沪A00001');
|
||||
fireEvent.click(within(filterDialog).getByRole('button', { name: '关闭诊断车辆筛选' }));
|
||||
expect(document.querySelector('.v2-source-table')).not.toBeInTheDocument();
|
||||
expect(document.querySelector('.v2-source-mobile-card.semi-card')).toBeInTheDocument();
|
||||
expect(document.querySelector('.v2-source-mobile-descriptions.semi-descriptions')).toBeInTheDocument();
|
||||
|
||||
Reference in New Issue
Block a user