@mzzsfy/dsh-keep-working 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,52 @@
1
+ import { test } from 'node:test'
2
+ import assert from 'node:assert/strict'
3
+
4
+ import { DEFAULTS, resolveConfig } from '../src/config.mjs'
5
+ import { NAMESPACE, PANEL_FIELDS, panelDefaults } from '../src/settings.mjs'
6
+
7
+ test('面板值覆盖 cordis 配置', () => {
8
+ const resolved = resolveConfig({ graceMs: 1_000 }, { graceMs: 7_000 })
9
+ assert.equal(resolved.graceMs, 7_000)
10
+ })
11
+
12
+ test('面板缺字段时回落 cordis 配置', () => {
13
+ const resolved = resolveConfig({ graceMs: 1_000, cooldownMs: 5_000 }, { graceMs: 7_000 })
14
+ assert.equal(resolved.graceMs, 7_000)
15
+ assert.equal(resolved.cooldownMs, 5_000)
16
+ })
17
+
18
+ test('面板与 cordis 都缺时回落默认值', () => {
19
+ const resolved = resolveConfig({}, {})
20
+ assert.equal(resolved.graceMs, DEFAULTS.graceMs)
21
+ assert.equal(resolved.closureText, DEFAULTS.closureText)
22
+ })
23
+
24
+ test('面板的布尔值 false 不被 cordis 值顶掉', () => {
25
+ const resolved = resolveConfig({ scanOnBoot: true }, { scanOnBoot: false })
26
+ assert.equal(resolved.scanOnBoot, false)
27
+ })
28
+
29
+ test('面板的 paused 生效', () => {
30
+ const resolved = resolveConfig({}, { paused: true })
31
+ assert.equal(resolved.paused, true)
32
+ })
33
+
34
+ test('面板未暴露的字段仍由 cordis 配置决定', () => {
35
+ const resolved = resolveConfig({ backoffFactor: 3 }, { graceMs: 1_000 })
36
+ assert.equal(resolved.backoffFactor, 3)
37
+ })
38
+
39
+ test('设置命名空间稳定', () => {
40
+ assert.equal(NAMESPACE, 'keep-working')
41
+ })
42
+
43
+ test('面板字段覆盖关键项', () => {
44
+ for (const key of ['paused', 'graceMs', 'cooldownMs', 'maxConsecutive', 'closureText']) {
45
+ assert.ok(PANEL_FIELDS.includes(key), `缺少 ${key}`)
46
+ }
47
+ })
48
+
49
+ test('面板默认值来自 DEFAULTS', () => {
50
+ assert.equal(panelDefaults().graceMs, DEFAULTS.graceMs)
51
+ assert.equal(panelDefaults().continueText, DEFAULTS.continueText)
52
+ })