import { test } from 'node:test'; import assert from 'node:assert/strict'; import { FIRST_SLICE_RPC_ROUTE, routeForFirstSlice, } from '../../YouleNexus/assets/framework/protocol/first-slice-routes.ts'; test('FIRST_SLICE_RPC_ROUTE 是第一纵向切片唯一且精确的 rpc route 表', () => { assert.deepEqual(FIRST_SLICE_RPC_ROUTE, { getVipRankList: 'agent', get_treasurelist: 'agent', topup_card: 'agent', update_bean: 'agent', get_player_invitecode: 'agent', binding_invitecode: 'agent', getInfoByShortCode: 'agent', get_player_task: 'agent', get_task_award: 'agent', update_roomcard: 'agent', player_finish_task: 'agent', player_login: 'agent', create_room: 'agent', self_join_room: 'agent', player_prepare: 'room', self_exit_room: 'room', other_join_room: 'room', other_exit_room: 'room', other_offline: 'room', other_online: 'room', connect_roomserver: 'room', connect_agentserver: 'agent', kick_server: 'agent', kick_offline: 'agent', show_message: 'agent', }); }); test('routeForFirstSlice 从单源映射取 route,未知 rpc 显式失败', () => { assert.equal(routeForFirstSlice('self_join_room'), 'agent'); assert.equal(routeForFirstSlice('connect_roomserver'), 'room'); assert.throws( () => routeForFirstSlice('unknown_rpc' as never), /unknown_rpc/, ); });