25cac367c6
新增 SpacetimeDB 灰度配置表与后端判定链路 新增后台灰度发布页面和两段式 Gate Key 选择器 将画布 Agent 入口接入灰度配置与运行时能力下发 修复灰度配置刷新读取空本地缓存的问题 补充灰度规则和后台下拉维护约定文档
72 lines
2.3 KiB
TypeScript
72 lines
2.3 KiB
TypeScript
import {expect, test} from 'vitest';
|
|
|
|
import {adminRoutes, resolveAdminRoute, routeHash} from './adminRoutes';
|
|
|
|
test('后台默认进入 Dashboard', () => {
|
|
expect(adminRoutes[0]).toEqual({
|
|
id: 'dashboard',
|
|
label: 'Dashboard',
|
|
hash: '#dashboard',
|
|
});
|
|
expect(resolveAdminRoute('')).toBe('dashboard');
|
|
expect(resolveAdminRoute('#unknown')).toBe('dashboard');
|
|
expect(routeHash('dashboard')).toBe('#dashboard');
|
|
});
|
|
|
|
// 中文注释:后台入口公告必须作为独立导航存在,避免公告表单被误藏在入口开关页。
|
|
test('后台入口公告路由可通过导航和 hash 访问', () => {
|
|
expect(adminRoutes).toContainEqual({
|
|
id: 'creation-announcement',
|
|
label: '入口公告',
|
|
hash: '#creation-announcement',
|
|
});
|
|
expect(resolveAdminRoute('#creation-announcement')).toBe(
|
|
'creation-announcement',
|
|
);
|
|
expect(routeHash('creation-announcement')).toBe('#creation-announcement');
|
|
});
|
|
|
|
test('后台模型定价路由可通过导航和 hash 访问', () => {
|
|
expect(adminRoutes).toContainEqual({
|
|
id: 'editor-generation-pricing',
|
|
label: '模型定价',
|
|
hash: '#editor-generation-pricing',
|
|
});
|
|
expect(resolveAdminRoute('#editor-generation-pricing')).toBe(
|
|
'editor-generation-pricing',
|
|
);
|
|
expect(routeHash('editor-generation-pricing')).toBe(
|
|
'#editor-generation-pricing',
|
|
);
|
|
});
|
|
|
|
test('后台灰度发布路由可通过导航和 hash 访问', () => {
|
|
expect(adminRoutes).toContainEqual({
|
|
id: 'gray-release',
|
|
label: '灰度发布',
|
|
hash: '#gray-release',
|
|
});
|
|
expect(resolveAdminRoute('#gray-release')).toBe('gray-release');
|
|
expect(routeHash('gray-release')).toBe('#gray-release');
|
|
});
|
|
|
|
test('后台素材查询路由可通过导航和 hash 访问', () => {
|
|
expect(adminRoutes).toContainEqual({
|
|
id: 'editor-assets',
|
|
label: '素材查询',
|
|
hash: '#editor-assets',
|
|
});
|
|
expect(resolveAdminRoute('#editor-assets')).toBe('editor-assets');
|
|
expect(routeHash('editor-assets')).toBe('#editor-assets');
|
|
});
|
|
|
|
test('后台精选审核路由可通过导航和 hash 访问', () => {
|
|
expect(adminRoutes).toContainEqual({
|
|
id: 'editor-showcase',
|
|
label: '精选审核',
|
|
hash: '#editor-showcase',
|
|
});
|
|
expect(resolveAdminRoute('#editor-showcase')).toBe('editor-showcase');
|
|
expect(routeHash('editor-showcase')).toBe('#editor-showcase');
|
|
});
|