summaryrefslogtreecommitdiff
path: root/frontend/src/lib/__tests__/state.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/lib/__tests__/state.test.ts')
-rw-r--r--frontend/src/lib/__tests__/state.test.ts21
1 files changed, 21 insertions, 0 deletions
diff --git a/frontend/src/lib/__tests__/state.test.ts b/frontend/src/lib/__tests__/state.test.ts
new file mode 100644
index 0000000..245c38c
--- /dev/null
+++ b/frontend/src/lib/__tests__/state.test.ts
@@ -0,0 +1,21 @@
+import { describe, expect, it, vi, afterEach } from 'vitest';
+import { extractStatusMessage } from '../state';
+
+afterEach(() => vi.unstubAllGlobals());
+
+describe('extractStatusMessage', () => {
+ it('prefers ApiError.code-mapped Chinese text', () => {
+ const msg = extractStatusMessage({
+ status: 409,
+ code: 'stale_generation',
+ message: '草稿已被其他修改更新'
+ });
+ expect(msg).toContain('409');
+ expect(msg).toContain('草稿已被其他修改更新');
+ });
+
+ it('handles unknown errors without leaking internals', () => {
+ const msg = extractStatusMessage({ message: 'boom' });
+ expect(msg).toContain('出错');
+ });
+});