41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
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)
|
|
})
|