fix: validate favorite folder removal
This commit is contained in:
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user