import { test } from 'node:test' import assert from 'node:assert/strict' import { isTerminalStatus } from '../src/shared/api/status.ts' test('test_terminal_success', () => { assert.equal(isTerminalStatus('SUCCESS'), true) }) test('test_terminal_failed', () => { assert.equal(isTerminalStatus('FAILED'), true) }) test('test_terminal_lowercase', () => { assert.equal(isTerminalStatus('success'), true, '归一化后应为终态') assert.equal(isTerminalStatus('failed'), true) }) test('test_terminal_pending_false', () => { assert.equal(isTerminalStatus('PENDING'), false) assert.equal(isTerminalStatus('RUNNING'), false) }) test('test_terminal_null_false', () => { assert.equal(isTerminalStatus(null), false) assert.equal(isTerminalStatus(undefined), false) }) test('test_terminal_cancelled_default_false', () => { assert.equal(isTerminalStatus('CANCELLED'), false, '默认不把 CANCELLED 当终态') }) test('test_terminal_cancelled_extended_true', () => { assert.equal(isTerminalStatus('CANCELLED', ['CANCELLED']), true) assert.equal(isTerminalStatus('cancelled', ['CANCELLED']), true, 'extras 也走归一化') }) test('test_terminal_unknown_false', () => { assert.equal(isTerminalStatus('SYNCING'), false) assert.equal(isTerminalStatus('QUEUED'), false) })