feat: rename app to Qiyun and refine Tiangong rituals and UI

This commit is contained in:
zhouzhibo committed 2026-11-03 00:16:16 +08:00
1 parent 7871114c50
commit df84a4c130
32 files changed
+482 -130

No files matched your search

+18 -14
View File
@@ -53,7 +53,7 @@ test('本期无功德、余额、捐款接口或入口', () => {
test('祈愿/回向校验空值,不持久化姓名或祝愿;重置还原样例', () => {
const mock = createTiangongMock()
assert.throws(() => mock.wish('wealth', ' '), /愿望/)
assert.throws(() => mock.dedicate('wealth', '甲', ''), /填写/)
assert.throws(() => mock.dedicate('wealth', '', ''), /填写/)
assert.deepEqual(mock.wish('wealth', '测试愿望'), { mock: true })
assert.deepEqual(mock.dedicate('wealth', '测试姓名', '测试祝愿'), { mock: true })
assert.ok(!JSON.stringify(mock.snapshot()).includes('测试'))
@@ -95,23 +95,18 @@ test('最后一位解绑锁定,任意一位绑定重新解锁;解绑他位
mock.unbind('fortune')
assert.equal(hasBoundDeity(mock.snapshot()), true)
})
test('每位初始2次,重复恭请/取消不扣减或重置,耗尽后送神也不能绕过', () => {
test('送神保留绑定和解绑额度,重复请神不重置累计上香次数', () => {
const mock = createTiangongMock()
mock.incense('wealth'); mock.sendOff('wealth')
assert.equal(mock.snapshot().deities.wealth.remainingUnbinds, 2)
// Viewing a confirmation/cancelling is read-only.
mock.snapshot(); mock.snapshot()
assert.equal(mock.snapshot().deities.wealth.remainingUnbinds, 2)
assert.equal(mock.snapshot().deities.wealth.unlocked, false)
assert.equal(hasBoundDeity(mock.snapshot()), true)
assert.throws(() => mock.incense('wealth'), /未恭请/)
mock.invite('wealth')
assert.equal(mock.snapshot().deities.wealth.incenseCount, 60)
mock.unbind('wealth')
assert.equal(mock.snapshot().deities.wealth.remainingUnbinds, 1)
assert.throws(() => mock.unbind('wealth'), /未恭请/)
mock.invite('wealth'); mock.invite('wealth')
assert.equal(mock.snapshot().deities.wealth.remainingUnbinds, 1)
mock.sendOff('wealth')
assert.equal(mock.snapshot().deities.wealth.remainingUnbinds, 0)
mock.invite('wealth')
for (const action of ['unbind', 'sendOff']) assert.throws(() => mock[action]('wealth'), /次数已用尽/)
assert.equal(mock.snapshot().deities.wealth.unlocked, true)
assert.equal(mock.snapshot().deities.fortune.remainingUnbinds, 2)
assert.equal(hasBoundDeity(mock.snapshot()), false)
})
test('绑定、解绑、重置同步通知缓存Tab;退订后不再通知', () => {
const mock = createTiangongMock()
@@ -134,3 +129,12 @@ test('绑定门禁和卡片采用神仙用语,真实NFC与解绑契约不被
assert.match(ui, /disabled=\{state.remainingUnbinds === 0\}/)
assert.doesNotMatch(ui, /getNFCAdapter|tiangongRemoteContract\./)
})
test('已送神仍可解绑设备,解绑清除再次请神资格并正常扣减额度', () => {
const mock = createTiangongMock()
mock.sendOff('wealth'); assert.equal(hasBoundDeity(mock.snapshot()), true)
mock.unbind('wealth')
assert.equal(hasBoundDeity(mock.snapshot()), false)
assert.equal(mock.snapshot().deities.wealth.canInvite, false)
assert.equal(mock.snapshot().deities.wealth.remainingUnbinds, 1)
})