Files
crawler-plugin/frontend-vue/tests/status.test.ts
T

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)
})