diff --git a/packages/vue/src/index.ts b/packages/vue/src/index.ts index 549b1dbf8..39e8f4736 100644 --- a/packages/vue/src/index.ts +++ b/packages/vue/src/index.ts @@ -47,7 +47,15 @@ export { useToolbarState } from '#vue/primitives/Toolbar/useToolbarState' export { useNodeFontStatus } from '#vue/shared/font-status/use' export { usePropScrub } from '#vue/controls/prop-scrub/use' export { toolCursor } from '#vue/editor/tool-cursor' -export { testId, testIdSelector } from '#vue/testing/test-id' +export { + acpPermissionOptionTestId, + testId, + testIdSelector, + toolbarFlyoutItemTestId, + toolbarFlyoutTestId, + toolbarToolTestId, + variablesAddTestId +} from '#vue/testing/test-id' export { vTestId } from '#vue/testing/v-test-id' export type { RequiredTestIdProps, diff --git a/packages/vue/src/testing/test-id.ts b/packages/vue/src/testing/test-id.ts index 60e0273d0..3334ad709 100644 --- a/packages/vue/src/testing/test-id.ts +++ b/packages/vue/src/testing/test-id.ts @@ -22,6 +22,26 @@ export function testIdSelector(id: TestId): string { return `[data-test-id="${cssEscape(id)}"]` } +export function toolbarToolTestId(tool: string, mobile = false): TestId { + return `${mobile ? 'mobile-' : ''}toolbar-tool-${tool.toLowerCase()}` +} + +export function toolbarFlyoutTestId(tool: string, mobile = false): TestId { + return `${mobile ? 'mobile-' : ''}toolbar-flyout-${tool.toLowerCase()}` +} + +export function toolbarFlyoutItemTestId(tool: string, mobile = false): TestId { + return `${mobile ? 'mobile-' : ''}toolbar-flyout-item-${tool.toLowerCase()}` +} + +export function variablesAddTestId(type: string): TestId { + return `variables-add-${type.toLowerCase()}` +} + +export function acpPermissionOptionTestId(kind: string): TestId { + return `acp-permission-option-${kind}` +} + function cssEscape(value: string): string { return CSS.escape(value) } diff --git a/src/components/Toolbar/ToolFlyout.vue b/src/components/Toolbar/ToolFlyout.vue index 4051ce223..a6e176ae8 100644 --- a/src/components/Toolbar/ToolFlyout.vue +++ b/src/components/Toolbar/ToolFlyout.vue @@ -11,7 +11,13 @@ import IconChevronDown from '~icons/lucide/chevron-down' import { menu } from '@/components/ui/menu' import ToolButton from '@/components/Toolbar/ToolButton.vue' -import { vTestId, ToolbarItem } from '@open-pencil/vue' +import { + toolbarFlyoutItemTestId, + toolbarFlyoutTestId, + toolbarToolTestId, + vTestId, + ToolbarItem +} from '@open-pencil/vue' import type { Tool } from '@open-pencil/vue' import type { EditorToolDef } from '@open-pencil/core/editor' @@ -58,7 +64,7 @@ function activeKeyForTool() {