All files / src/components/views/Schemas SchemaCards.stories.tsx

0% Statements 0/12
0% Branches 0/2
0% Functions 0/4
0% Lines 0/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43                                                                                     
import React from "react";
import { BrowserRouter } from "react-router-dom";
import { storiesOf } from "@storybook/react";
import { EXAMPLE_SCHEMAS } from "vc-schema-tools";
import { jsonSchemaToSchemaInput } from "./utils";
import { IdentityThemeProvider } from "../../../themes/IdentityTheme";
import { SertoUiProvider } from "../../../context/SertoUiProvider";
import { SchemaCards } from "./SchemaCards";
 
const schemas = Object.entries(EXAMPLE_SCHEMAS)
  .map(([key, schema]) => {
    if (key === "[no schema]") {
      return undefined;
    }
    try {
      return jsonSchemaToSchemaInput(schema);
    } catch (err) {
      console.error(`failed to create schema input for schema "${key}"`, err);
      return undefined;
    }
  })
  .filter((schema) => !!schema);
 
const SchemaCardsStory = () => {
  return (
    <BrowserRouter>
      <IdentityThemeProvider>
        <SertoUiProvider
          context={{
            schemasService: {
              getSchemas: () => schemas.concat(schemas),
            },
          }}
        >
          <SchemaCards />
        </SertoUiProvider>
      </IdentityThemeProvider>
    </BrowserRouter>
  );
};
 
storiesOf("Schemas", module).add("SchemaCards", SchemaCardsStory);