fix: validate favorite folder removal

This commit is contained in:
wxs
2026-07-17 11:58:12 +08:00
parent 30748ddc0f
commit a7d62c7ec0
2 changed files with 20 additions and 0 deletions
+15
View File
@@ -136,6 +136,21 @@ describe("favorites-store", () => {
});
});
test("rejects removal from an unknown folder without changing state", async () => {
const { repository } = createRepository();
const folder = await repository.createFolder("合作");
await repository.setCreatorFolderIds(
{ authorId: "author-1", authorName: "Alice" },
[folder.id]
);
const beforeRemoval = await repository.read();
await expect(
repository.removeCreatorFromFolder("author-1", "missing")
).rejects.toThrow("收藏夹不存在");
await expect(repository.read()).resolves.toEqual(beforeRemoval);
});
test("recovers from malformed, duplicate, and dangling stored values", async () => {
const { repository } = createRepository(
createMemoryStorage({