diff --git a/packages/core/src/extensions/SuggestionMenu/SuggestionMenu.test.ts b/packages/core/src/extensions/SuggestionMenu/SuggestionMenu.test.ts index d97860fcff..8b5ac4cabc 100644 --- a/packages/core/src/extensions/SuggestionMenu/SuggestionMenu.test.ts +++ b/packages/core/src/extensions/SuggestionMenu/SuggestionMenu.test.ts @@ -1,6 +1,7 @@ -import { describe, expect, it } from "vitest"; +import { describe, expect, it, vi } from "vitest"; import { BlockNoteEditor } from "../../editor/BlockNoteEditor.js"; +import { getDefaultSlashMenuItems } from "./getDefaultSlashMenuItems.js"; import { SuggestionMenu } from "./SuggestionMenu.js"; /** @@ -140,6 +141,25 @@ describe("SuggestionMenu", () => { editor._tiptapEditor.destroy(); }); + it("should expose an emoji slash menu item that opens the emoji picker", () => { + const editor = createEditor(); + const sm = editor.getExtension(SuggestionMenu)!; + const openSuggestionMenuSpy = vi.spyOn(sm, "openSuggestionMenu"); + + const items = getDefaultSlashMenuItems(editor); + const emojiItem = items.find((item) => item.key === "emoji"); + + expect(emojiItem).toBeDefined(); + emojiItem!.onItemClick(); + + expect(openSuggestionMenuSpy).toHaveBeenCalledWith(":", { + deleteTriggerCharacter: true, + ignoreQueryLength: true, + }); + + editor._tiptapEditor.destroy(); + }); + it("should still allow suggestion menus without shouldTrigger in table content", () => { const editor = createEditor(); const sm = editor.getExtension(SuggestionMenu)!;