fix(测试数据生成器): 修复规则覆盖保存误创建重复规则

覆盖同名规则时 handleSave(true) 未传入已有规则 id,save() 走新建分支
导致旧规则保留且产生同名重复项,getByName 仍返回旧数据。
This commit is contained in:
Cursor Agent
2026-06-29 11:05:02 +00:00
parent 2967a6f79f
commit 41c36f111c
3 changed files with 135 additions and 13 deletions
+21
View File
@@ -48,6 +48,27 @@ describe('ruleStorage', () => {
expect(updated).toBeNull();
});
it('save 带 id 时应更新已有规则而非新建', () => {
const first = ruleStorage.save({
name: 'Test Rule',
fields: [mockField],
});
expect(first).not.toBeNull();
const updatedField = { ...mockField, name: 'email' };
const updated = ruleStorage.save({
id: first!.id,
name: 'Test Rule',
description: 'Updated',
fields: [updatedField],
});
expect(updated).not.toBeNull();
expect(ruleStorage.getCount()).toBe(1);
expect(ruleStorage.getById(first!.id)?.fields[0].name).toBe('email');
expect(ruleStorage.getById(first!.id)?.description).toBe('Updated');
});
it('deleteRule 在 localStorage 写入失败时应返回 false', () => {
const saved = ruleStorage.save({
name: 'Test Rule',