diff options
Diffstat (limited to 'packages/taler-wallet-webextension/src/stories.test.ts')
-rw-r--r-- | packages/taler-wallet-webextension/src/stories.test.ts | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/packages/taler-wallet-webextension/src/stories.test.ts b/packages/taler-wallet-webextension/src/stories.test.ts index bb5abb92c..9277530a3 100644 --- a/packages/taler-wallet-webextension/src/stories.test.ts +++ b/packages/taler-wallet-webextension/src/stories.test.ts @@ -19,37 +19,33 @@ * @author Sebastian Javier Marchano (sebasjm) */ import { setupI18n } from "@gnu-taler/taler-util"; +import { parseGroupImport } from "@gnu-taler/web-util/lib/index.browser"; +import { setupPlatform } from "./platform/api.js"; +import chromeAPI from "./platform/chrome.js"; +import { renderNodeOrBrowser } from "./test-utils.js"; + import * as components from "./components/index.stories.js"; import * as cta from "./cta/index.stories.js"; import * as mui from "./mui/index.stories.js"; -import { setupPlatform } from "./platform/api.js"; -import chromeAPI from "./platform/chrome.js"; import * as popup from "./popup/index.stories.js"; -import { renderNodeOrBrowser } from "./test-utils.js"; import * as wallet from "./wallet/index.stories.js"; setupI18n("en", { en: {} }); setupPlatform(chromeAPI); -function testThisStory(st: any): any { - describe(`example "${(st as any).default.title}"`, () => { - Object.keys(st).forEach((k) => { - const Component = (st as any)[k]; - if (k === "default" || !Component) return; - - it(`example: ${k}`, () => { - renderNodeOrBrowser(Component, Component.args); - }); - }); - }); -} - -describe("render every storybook example", () => { - [popup, wallet, cta, mui, components].forEach(function testAll(st: any) { - if (Array.isArray(st.default)) { - st.default.forEach(testAll); - } else { - testThisStory(st); - } - }); +describe("All the examples:", () => { + const cms = parseGroupImport({ popup, wallet, cta, mui, components }) + cms.forEach(group => { + describe(`Example for group "${group.title}:"`, () => { + group.list.forEach(component => { + describe(`Component ${component.name}:`, () => { + component.examples.forEach(example => { + it(`should render example: ${example.name}`, () => { + renderNodeOrBrowser(example.render.component, example.render.props) + }) + }) + }) + }) + }) + }) }); |