fbredius/storybook

View on GitHub
docs/snippets/svelte/my-component-play-function-with-selectevent.mdx.mdx

Summary

Maintainability
Test Coverage
```md
<!-- MyComponent.stories.mdx -->

import { Meta, Story } from '@storybook/addon-docs';

import { userEvent, screen } from '@storybook/testing-library';

import MyComponent from './MyComponent.svelte';

<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)=>({
  Component: MyComponent,
  props: 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>
```