feat(ui): finalize shared shells and loading states
This commit is contained in:
34
web/tests/refresh-interval-controls.test.mjs
Normal file
34
web/tests/refresh-interval-controls.test.mjs
Normal file
@@ -0,0 +1,34 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import { readFileSync } from 'node:fs'
|
||||
import test from 'node:test'
|
||||
|
||||
const refreshOptions = readFileSync(new URL('../src/utils/refreshIntervalOptions.js', import.meta.url), 'utf8')
|
||||
const logsView = readFileSync(new URL('../src/views/LogsView.vue', import.meta.url), 'utf8')
|
||||
const logsScript = readFileSync(new URL('../src/views/scripts/LogsView.js', import.meta.url), 'utf8')
|
||||
const workRecords = readFileSync(
|
||||
new URL('../src/components/audit/DigitalEmployeeWorkRecords.vue', import.meta.url),
|
||||
'utf8'
|
||||
)
|
||||
|
||||
test('shared refresh interval options default to 60 seconds', () => {
|
||||
assert.match(refreshOptions, /DEFAULT_REFRESH_INTERVAL_MS\s*=\s*60000/)
|
||||
for (const value of [1000, 3000, 5000, 10000, 30000, 60000, 180000]) {
|
||||
assert.match(refreshOptions, new RegExp(`value:\\s*${value}`))
|
||||
}
|
||||
})
|
||||
|
||||
test('system logs list exposes refresh interval control', () => {
|
||||
assert.match(logsScript, /refreshInterval\s*=\s*ref\(DEFAULT_REFRESH_INTERVAL_MS\)/)
|
||||
assert.match(logsScript, /window\.setInterval\([\s\S]*refreshInterval\.value/)
|
||||
assert.match(logsView, /刷新时间 \{\{ refreshIntervalLabel \}\}/)
|
||||
assert.match(logsView, /v-for="option in refreshIntervalOptions"/)
|
||||
assert.doesNotMatch(logsView, /刷新日志/)
|
||||
})
|
||||
|
||||
test('digital employee work records expose refresh interval control', () => {
|
||||
assert.match(workRecords, /refreshInterval\s*=\s*ref\(DEFAULT_REFRESH_INTERVAL_MS\)/)
|
||||
assert.match(workRecords, /refreshIntervalPickerOptions\s*=\s*REFRESH_INTERVAL_OPTIONS/)
|
||||
assert.match(workRecords, /window\.setInterval\([\s\S]*refreshInterval\.value/)
|
||||
assert.match(workRecords, /刷新时间 \$\{refreshIntervalLabel\}/)
|
||||
assert.doesNotMatch(workRecords, /AGENT_RUN_POLL_INTERVAL_MS/)
|
||||
})
|
||||
Reference in New Issue
Block a user