fix: project live enterprise domain state

This commit is contained in:
冰朔 2026-08-04 21:11:26 +08:00
commit f5eb5e7cdb
2 changed files with 43 additions and 2 deletions

View file

@ -11,6 +11,7 @@ const {
openExternalUrlMock,
planGuanghuLivingSystemMock,
trackEventMock,
useGuanghuEnterpriseStatusMock,
useGuanghuRouterMock,
useGuanghuWorldLoginMock,
} = vi.hoisted(() => ({
@ -18,6 +19,7 @@ const {
openExternalUrlMock: vi.fn().mockResolvedValue(undefined),
planGuanghuLivingSystemMock: vi.fn(),
trackEventMock: vi.fn(),
useGuanghuEnterpriseStatusMock: vi.fn(),
useGuanghuRouterMock: vi.fn(),
useGuanghuWorldLoginMock: vi.fn(),
}))
@ -27,6 +29,9 @@ vi.mock('../utils/planGuanghuLivingSystem', () => ({
planGuanghuLivingSystem: planGuanghuLivingSystemMock,
}))
vi.mock('../lib/telemetry', () => ({ trackEvent: trackEventMock }))
vi.mock('../hooks/useGuanghuEnterpriseStatus', () => ({
useGuanghuEnterpriseStatus: useGuanghuEnterpriseStatusMock,
}))
vi.mock('../hooks/useGuanghuRouter', () => ({ useGuanghuRouter: useGuanghuRouterMock }))
vi.mock('../hooks/useGuanghuWorldLogin', () => ({
useGuanghuWorldLogin: useGuanghuWorldLoginMock,
@ -100,6 +105,15 @@ describe('HoloLakeHome', () => {
})
useGuanghuRouterMock.mockReturnValue(offlineRouter())
useGuanghuWorldLoginMock.mockReturnValue(worldLogin())
useGuanghuEnterpriseStatusMock.mockReturnValue({
refresh: vi.fn(),
state: {
checkedAt: null,
error: null,
phase: 'checking',
status: null,
},
})
planGuanghuLivingSystemMock.mockResolvedValue({
source: 'model',
plan: {
@ -334,6 +348,33 @@ describe('HoloLakeHome', () => {
expect(screen.queryByText('BS-SH-005')).not.toBeInTheDocument()
})
it('projects the live public enterprise domain state instead of a permanent placeholder', () => {
useGuanghuEnterpriseStatusMock.mockReturnValue({
refresh: vi.fn(),
state: {
checkedAt: 1_785_399_662_000,
error: null,
phase: 'online',
status: {
domains: [
{ accessState: 'ONLINE_READ_ONLY', id: 'DOMAIN-MAIN', name: '光湖主域' },
{ accessState: 'ONLINE_READ_ONLY', id: 'DOMAIN-SUB', name: '光湖分域' },
{ accessState: 'ONLINE_READ_ONLY', id: 'DOMAIN-ZERO', name: '光湖零域' },
{ accessState: 'ONLINE_READ_ONLY', id: 'DOMAIN-ZS', name: '零感域' },
],
execution: 'disabled',
hostState: 'ONLINE',
nodeId: 'AW-GZ-001',
},
},
})
render(<HoloLakeHome locale="zh-CN" onEnterKnowledgeBase={vi.fn()} />)
expect(useGuanghuEnterpriseStatusMock).toHaveBeenCalledOnce()
expect(screen.getAllByText('在线只读')).toHaveLength(4)
})
it('opens the origin channel directly from the zero-point core', () => {
render(<HoloLakeHome locale="zh-CN" onEnterKnowledgeBase={vi.fn()} />)

View file

@ -8,7 +8,7 @@ import { openExternalUrl } from '../utils/url'
import { useGuanghuRouter } from '../hooks/useGuanghuRouter'
import { useGuanghuShanghaiNode } from '../hooks/useGuanghuShanghaiNode'
import { useGuanghuWorldLogin } from '../hooks/useGuanghuWorldLogin'
import { INITIAL_GUANGHU_ENTERPRISE_STATE } from '../lib/guanghuEnterprise'
import { useGuanghuEnterpriseStatus } from '../hooks/useGuanghuEnterpriseStatus'
import type { AiModelTarget } from '../lib/aiTargets'
import {
createDeterministicLivingSystemPlan,
@ -110,7 +110,7 @@ export function HoloLakeHome({
>({ status: 'checking' })
const router = useGuanghuRouter()
const login = useGuanghuWorldLogin()
const enterprise = { state: INITIAL_GUANGHU_ENTERPRISE_STATE }
const enterprise = useGuanghuEnterpriseStatus()
const shanghai = useGuanghuShanghaiNode()
const restoreAttempted = useRef(false)
const livingRequestSequence = useRef(0)