task-6: isTerminalStatus() 终态判定(默认 SUCCESS/FAILED,extras 扩展且归一化,空值非终态)

This commit is contained in:
2026-08-31 19:20:17 +08:00
parent 432b2c52b2
commit 1e1f533a24
2 changed files with 38 additions and 22 deletions
+22 -22
View File
@@ -1,40 +1,40 @@
import { test } from 'node:test'
import assert from 'node:assert/strict'
import { normalizeStatus } from '../src/shared/api/status.ts'
import { isTerminalStatus } from '../src/shared/api/status.ts'
test('test_normalize_lower_to_upper', () => {
assert.equal(normalizeStatus('success'), 'SUCCESS')
assert.equal(normalizeStatus('failed'), 'FAILED')
assert.equal(normalizeStatus('pending'), 'PENDING')
test('test_terminal_success', () => {
assert.equal(isTerminalStatus('SUCCESS'), true)
})
test('test_normalize_mixed_case', () => {
assert.equal(normalizeStatus('rUnNiNg'), 'RUNNING')
test('test_terminal_failed', () => {
assert.equal(isTerminalStatus('FAILED'), true)
})
test('test_normalize_with_hyphen', () => {
assert.equal(normalizeStatus('in-progress'), 'IN_PROGRESS')
assert.equal(normalizeStatus('file-ready'), 'FILE_READY')
test('test_terminal_lowercase', () => {
assert.equal(isTerminalStatus('success'), true, '归一化后应为终态')
assert.equal(isTerminalStatus('failed'), true)
})
test('test_normalize_null', () => {
assert.equal(normalizeStatus(null), '')
test('test_terminal_pending_false', () => {
assert.equal(isTerminalStatus('PENDING'), false)
assert.equal(isTerminalStatus('RUNNING'), false)
})
test('test_normalize_undefined', () => {
assert.equal(normalizeStatus(undefined), '')
test('test_terminal_null_false', () => {
assert.equal(isTerminalStatus(null), false)
assert.equal(isTerminalStatus(undefined), false)
})
test('test_normalize_empty_string', () => {
assert.equal(normalizeStatus(''), '')
test('test_terminal_cancelled_default_false', () => {
assert.equal(isTerminalStatus('CANCELLED'), false, '默认不把 CANCELLED 当终态')
})
test('test_normalize_unknown_passthrough', () => {
assert.equal(normalizeStatus('SYNCING'), 'SYNCING')
assert.equal(normalizeStatus('QUEUED'), 'QUEUED')
test('test_terminal_cancelled_extended_true', () => {
assert.equal(isTerminalStatus('CANCELLED', ['CANCELLED']), true)
assert.equal(isTerminalStatus('cancelled', ['CANCELLED']), true, 'extras 也走归一化')
})
test('test_normalize_whitespace_padded', () => {
assert.equal(normalizeStatus(' running '), 'RUNNING')
assert.equal(normalizeStatus(' '), '')
test('test_terminal_unknown_false', () => {
assert.equal(isTerminalStatus('SYNCING'), false)
assert.equal(isTerminalStatus('QUEUED'), false)
})