export const canonicalFrontendFixture = { gateway: { user: { id: 'visual-user-1', username: 'visual-user', displayName: '시각검증', roles: [], }, sessionToken: 'session_visual_fixture', account: { id: 'visual-user-1', username: 'visual-user', displayName: '시각검증', roles: [], oauthType: 'NONE', createdAt: '2026-07-25T12:27:07.000Z', iconUrl: null, thirdPartyUse: true, deleteAfter: null, }, profile: { profileName: 'che', profile: 'che', apiPort: 15003, status: 'RUNNING', korName: '체', color: '#00bc8c', scenario: '가상모드22', }, }, game: { session: { profile: 'che', gameToken: 'ga_frontend_legacy_fixture', general: { id: 1, name: '유비', troopId: 0, }, }, lobby: { year: 197, month: 7, userCnt: 17, npcCnt: 31, nationCnt: 5, maxUserCnt: 50, turnTerm: 60, fictionMode: '가상', otherTextInfo: '표준', starttime: '0190-01-01T00:00:00.000Z', myGeneral: null, }, mapLayout: { mapName: 'che', cityList: [ { id: 1, name: '낙양', level: 7, region: 1, x: 350, y: 245, path: [2] }, { id: 2, name: '장안', level: 7, region: 1, x: 260, y: 240, path: [1] }, { id: 3, name: '업', level: 6, region: 2, x: 390, y: 160, path: [1] }, ], regionMap: { 1: '사예', 2: '기주' }, levelMap: { 6: '주', 7: '수도' }, }, map: { year: 197, month: 7, startYear: 190, cityList: [ [1, 7, 0, 1, 1, 1], [2, 7, 0, 2, 1, 1], [3, 6, 0, 1, 2, 1], ], nationList: [ [1, '한', '#d32f2f', 1], [2, '진', '#1976d2', 2], ], }, bestGeneral: { isUnited: true, sections: [ { title: '명 성', valueType: 'int', entries: [ { id: 1, name: '유비', ownerName: '시각검증', nationName: '촉', bgColor: '#006400', fgColor: '#ffffff', picture: 'default.jpg', imageServer: 0, value: 12000, printValue: '12,000', }, { id: 2, name: '조조', ownerName: '검증계정', nationName: '위', bgColor: '#8b0000', fgColor: '#ffffff', picture: 'default.jpg', imageServer: 0, value: 11000, printValue: '11,000', }, ], }, { title: '계 급', valueType: 'int', entries: [], }, ], uniqueItems: [ { title: '명 마', slot: 'horse', entries: [ { itemKey: 'che_명마_15_적토마', itemName: '적토마', itemInfo: '최고의 명마', owner: { id: 1, name: '유비', nationName: '촉', bgColor: '#006400', fgColor: '#ffffff', picture: 'default.jpg', imageServer: 0, }, }, { itemKey: 'che_명마_15_적토마', itemName: '적토마', itemInfo: '최고의 명마', owner: { id: 0, name: '경매중', nationName: '-', bgColor: '#00582c', fgColor: '#ffffff', picture: null, imageServer: 0, }, }, ], }, ], }, hallOptions: [ { season: 1, scenarios: [{ id: 22, name: '【가상모드22】 찐유저무쌍!', count: 1 }], }, ], hall: { sections: [ { title: '명 성', valueType: 'int', entries: [ { generalId: 1, name: '유비', ownerName: '시각검증', nationName: '촉', bgColor: '#006400', fgColor: '#ffffff', picture: 'default.jpg', imageServer: 0, value: 12000, printValue: '12,000', serverName: '체', serverIdx: 1, scenarioName: '가상모드22', startTime: '2026-01-01', unitedTime: '2026-02-01', }, { generalId: 2, name: '조조', ownerName: '검증계정', nationName: '위', bgColor: '#8b0000', fgColor: '#ffffff', picture: 'default.jpg', imageServer: 0, value: 11000, printValue: '11,000', serverName: '체', serverIdx: 1, scenarioName: '가상모드22', startTime: '2026-01-01', unitedTime: '2026-02-01', }, ], }, { title: '계 급', valueType: 'int', entries: [], }, ], }, yearbookRange: { firstYearMonth: 197 * 12 + 5, lastYearMonth: 197 * 12 + 6, currentYearMonth: 197 * 12 + 6, }, yearbook: { notModified: false, hash: 'yearbook-visual-hash', data: { year: 197, month: 7, map: { year: 197, month: 7, startYear: 190, cityList: [ [1, 7, 0, 1, 1, 1], [2, 7, 0, 2, 1, 1], [3, 6, 0, 1, 2, 1], ], nationList: [ [1, '한', '#d32f2f', 1], [2, '진', '#1976d2', 2], ], }, nations: [ { id: 1, name: '한', color: '#d32f2f', level: 5, power: 1250, generalCount: 12, cities: ['낙양', '업'], }, { id: 2, name: '진', color: '#1976d2', level: 4, power: 980, generalCount: 8, cities: ['장안'], }, ], globalHistory: ['● 한이 낙양을 지키고 있습니다.'], globalAction: ['● 유비가 내정을 수행했습니다.'], }, }, surveyList: { polls: [ { id: 2, title: '선호하는 병종', startAt: '2026-07-26T00:00:00.000Z', endAt: null, closedAt: null, revealMode: 'after_vote', optionsCount: 3, multipleOptions: 1, }, { id: 1, title: '지난 설문', startAt: '2026-07-20T00:00:00.000Z', endAt: '2026-07-21T00:00:00.000Z', closedAt: '2026-07-21T00:00:00.000Z', revealMode: 'after_vote', optionsCount: 2, multipleOptions: 1, }, ], voteReward: 90, }, surveyDetail: { voteInfo: { id: 2, title: '선호하는 병종', body: '', options: ['보병', '기병', '궁병'], multipleOptions: 1, revealMode: 'after_vote', openerGeneralId: 9, openerName: '설문관리자', startAt: '2026-07-26T00:00:00.000Z', endAt: null, closedAt: null, }, votes: [ { selection: [0], count: 2 }, { selection: [1], count: 1 }, ], comments: [ { id: 1, voteId: 2, generalId: 3, nationId: 1, generalName: '관우', nationName: '촉', text: '기병이 좋습니다.', createdAt: '2026-07-26T01:23:00.000Z', }, ], myVote: null, userCnt: 17, }, }, } as const;