| 1 | import { describe, expect, it } from 'vitest' |
| 2 | import { PageMergeError, readPageMergeErrorCode } from '../../../src/shared/page-merge' |
| 3 | |
| 4 | describe('page merge errors', () => { |
| 5 | it('keeps the domain error code separate from the internal message', () => { |
| 6 | const error = new PageMergeError('PAGE_MERGE_SESSION_BUSY', '会话正在生成') |
| 7 | |
| 8 | expect(error.code).toBe('PAGE_MERGE_SESSION_BUSY') |
| 9 | expect(error.message).toBe('会话正在生成') |
| 10 | }) |
| 11 | |
| 12 | it('reads an error code from Electron invoke error wrappers', () => { |
| 13 | const error = new Error( |
| 14 | "Error invoking remote method 'session:mergePages': Error: PAGE_MERGE_PAGE_COPY_FAILED" |
| 15 | ) |
| 16 | |
| 17 | expect(readPageMergeErrorCode(error)).toBe('PAGE_MERGE_PAGE_COPY_FAILED') |
| 18 | expect(readPageMergeErrorCode(new Error('unknown failure'))).toBeNull() |
| 19 | }) |
| 20 | }) |
| 21 |