mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-08-19 14:04:41 +08:00
- 在服务发现树中按 Group 展示入口并向工作台传递初始筛选 - 统一解析分组服务名并在列表中展示服务与所属 Group - 防止快速切换服务时旧实例响应覆盖当前选择 - 服务增删后刷新对应命名空间的侧栏分组并保护强制刷新顺序 - 补充服务路由、分组菜单、侧栏刷新和实例竞态测试
49 lines
1.6 KiB
TypeScript
49 lines
1.6 KiB
TypeScript
import React from 'react';
|
|
import TestRenderer, { act } from 'react-test-renderer';
|
|
import { describe, expect, it, vi } from 'vitest';
|
|
|
|
import type { TabData } from '../types';
|
|
import WorkbenchTabContent from './WorkbenchTabContent';
|
|
|
|
vi.mock('antd', () => ({
|
|
Spin: () => <span data-spin="true" />,
|
|
}));
|
|
|
|
vi.mock('./NacosServiceViewer', () => ({
|
|
default: (props: Record<string, unknown>) => (
|
|
<div
|
|
data-nacos-services-viewer="true"
|
|
data-connection-id={props.connectionId}
|
|
data-namespace-id={props.namespaceId}
|
|
data-initial-group={props.initialGroup}
|
|
/>
|
|
),
|
|
}));
|
|
|
|
describe('WorkbenchTabContent Nacos service routing', () => {
|
|
it('passes the tab group to the service viewer as its initial filter', async () => {
|
|
const tab: TabData = {
|
|
id: 'nacos-services-nacos-1-ns-mkefu-dev-g-MKEFU_SERVICE',
|
|
title: 'mkefu development · MKEFU_SERVICE',
|
|
type: 'nacos-services',
|
|
connectionId: 'nacos-1',
|
|
nacosNamespaceId: 'mkefu-dev',
|
|
nacosNamespaceName: 'mkefu development',
|
|
nacosGroup: 'MKEFU_SERVICE',
|
|
};
|
|
let renderer: TestRenderer.ReactTestRenderer;
|
|
|
|
await act(async () => {
|
|
renderer = TestRenderer.create(<WorkbenchTabContent tab={tab} isActive />);
|
|
await Promise.resolve();
|
|
await Promise.resolve();
|
|
});
|
|
|
|
const viewer = renderer!.root.findByProps({ 'data-nacos-services-viewer': 'true' });
|
|
expect(viewer.props['data-connection-id']).toBe('nacos-1');
|
|
expect(viewer.props['data-namespace-id']).toBe('mkefu-dev');
|
|
expect(viewer.props['data-initial-group']).toBe('MKEFU_SERVICE');
|
|
act(() => renderer!.unmount());
|
|
});
|
|
});
|