From b9238169081693d0cf4d2aada1936701ff42d615 Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Thu, 6 Oct 2022 18:12:09 +0200 Subject: [PATCH] use isTestRunner in internal example --- .storybook/preview.js | 11 +++++++++++ stories/atoms/Button.stories.js | 23 +++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 .storybook/preview.js diff --git a/.storybook/preview.js b/.storybook/preview.js new file mode 100644 index 00000000..ec14191d --- /dev/null +++ b/.storybook/preview.js @@ -0,0 +1,11 @@ +import { isTestRunner } from '../dist/esm/is-test-runner'; + +const withSkippableTests = (StoryFn, { parameters }) => { + if (parameters.test?.skip && isTestRunner()) { + return () => {}; + } + + return StoryFn(); +}; + +export const decorators = [withSkippableTests]; diff --git a/stories/atoms/Button.stories.js b/stories/atoms/Button.stories.js index f4295cbb..6ed5f608 100644 --- a/stories/atoms/Button.stories.js +++ b/stories/atoms/Button.stories.js @@ -1,5 +1,6 @@ import React from 'react'; import { expect } from '@storybook/jest'; +import { isTestRunner } from '../../dist/esm/is-test-runner'; import { within, waitFor, userEvent, waitForElementToBeRemoved } from '@storybook/testing-library'; import { Button } from './Button'; @@ -109,3 +110,25 @@ WithLoaders.play = async ({ args, canvasElement }) => { await userEvent.click(todoItem); await expect(args.onSubmit).toHaveBeenCalledWith('delectus aut autem'); }; + +export const UserAgent = () => ( +
+

+ isTestRunner: {isTestRunner().toString()} +

+

+ User agent: {window.navigator.userAgent} +

+
+); +UserAgent.play = async () => { + if (isTestRunner()) { + await expect(window.navigator.userAgent).toContain('StorybookTestRunner'); + } +}; +UserAgent.parameters = { + tests: { + skip: true, + disableSnapshots: true, + }, +};