Skip to content

Commit

Permalink
Stories rework: VaSlider (#4183)
Browse files Browse the repository at this point in the history
* VaSlider stories rework

* remove variables
  • Loading branch information
Roman4437 committed Mar 20, 2024
1 parent 1d5331e commit 673f630
Show file tree
Hide file tree
Showing 4 changed files with 679 additions and 576 deletions.
15 changes: 15 additions & 0 deletions packages/ui/.storybook/interaction-utils/storySelector.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
export function getStoryId(id: string): HTMLElement {
return document.querySelector(`[data-testid="${id}"]`) as HTMLElement
}

export function getStoryIdAll(id: string): NodeListOf<HTMLElement> {
return document.querySelectorAll(`[data-testid="${id}"]`)
}

export function getStorySelector(selector: string): HTMLElement {
return document.querySelector(selector) as HTMLElement
}

export function getStorySelectorAll(selector: string): NodeListOf<HTMLElement> {
return document.querySelectorAll(selector)
}
12 changes: 7 additions & 5 deletions packages/ui/.storybook/interaction-utils/userEvent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,24 @@ import { userEvent as event } from '@storybook/testing-library'
import { sleep } from '../../src/utils/sleep'

export const userEvent = {
click: async (element: Element, options?: { delay?: number }) => {
const defaultOptions = { delay: 0 }
click: async (element: Element, options?: { delay?: number, clientX?: number, clientY?: number, skipPointerEventsCheck?: boolean }) => {
const defaultOptions = { delay: 0, skipPointerEventsCheck: false }
const mergedOptions = { ...defaultOptions, ...options }
const { delay, skipPointerEventsCheck } = mergedOptions

event.click(element, undefined, { skipHover: true })
event.click(element, options, { skipHover: true, skipPointerEventsCheck })
// waiting for DOM changes
await sleep(mergedOptions.delay)
await sleep(delay)
},

type: async (element: Element, text: string, options?: { sleep?: boolean, delay?: number }) => {
const defaultOptions = { sleep: true, delay: 0 }
const mergedOptions = { ...defaultOptions, ...options }
const { sleep: boolSleep, delay } = mergedOptions

event.type(element, text)
// waiting for DOM changes
if(mergedOptions.sleep) await sleep(mergedOptions.delay)
if(boolSleep) await sleep(delay)
},

hover: async (element: Element, options?: { delay?: number }) => {
Expand Down

0 comments on commit 673f630

Please sign in to comment.