storybook/docs/snippets/react/my-component-play-function-with-selectevent.mdx.mdx
2021-11-03 23:31:14 +00:00

36 lines
857 B
Plaintext

```md
<!-- MyComponent.stories.mdx -->
import { Meta, Story } from '@storybook/addon-docs';
import { userEvent, screen } from '@storybook/testing-library';
import { MyComponent } from './MyComponent';
<Meta title="WithSelectEvent" component={MyComponent}/>
<!-- Function to emulate pausing between interactions -->
export const sleep = (ms) => {
return new Promise((resolve) => setTimeout(resolve, ms));
};
export const Template = (args) => <MyComponent {...args} />;
<Story
name="ExampleChangeEvent"
play={async () => {
const select = screen.getByRole('listbox');
await userEvent.selectOptions(select, ['One Item']);
await sleep(2000);
await userEvent.selectOptions(select, ['Another Item']);
await sleep(2000);
await userEvent.selectOptions(select, ['Yet another item']);
}}>
{Template.bind({})}
</Story>
```