VandyHacks/vaken

View on GitHub
.storybook/preview.js

Summary

Maintainability
A
0 mins
Test Coverage
import React from 'react';
import 'happo-plugin-storybook/register';
import { ThemeProvider } from 'styled-components';
import { theme, GlobalStyle } from '../src/client/app';
import { MemoryRouter } from 'react-router-dom';
import { MockedProvider } from '@apollo/client/testing';
import * as ApplicationMocks from '../src/client/routes/application/application.graphql.mocks';
import * as DashboardsMocks from '../src/client/routes/dashboard/dashboards.graphql.mocks';
import * as EventsMocks from '../src/client/routes/events/events.graphql.mocks';
import * as ManageHackersMocks from '../src/client/routes/manage/hackers.graphql.mocks';
import * as MeMocks from '../src/client/me.graphql.mocks';
import * as ManageSponsorsMocks from '../src/client/routes/manage/sponsor.graphql.mocks';
import * as ProfileMocks from '../src/client/routes/profile/user.graphql.mocks';
import * as TeamMocks from '../src/client/routes/team/teams.graphql.mocks';
import '@storybook/addon-console';

export const parameters = {
    actions: { argTypesRegex: '^on[A-Z].*' },
};

export const decorators = [
    Story => (
        <ThemeProvider theme={theme}>
            <Story />
        </ThemeProvider>
    ),
    Story => (
        <MemoryRouter>
            <Story />
        </MemoryRouter>
    ),
    Story => (
        <>
            <GlobalStyle />
            <Story />
        </>
    ),
    Story => (
        <MockedProvider
            mocks={[
                ...Object.values(ApplicationMocks),
                ...Object.values(DashboardsMocks),
                ...Object.values(EventsMocks),
                ...Object.values(ManageHackersMocks),
                ...Object.values(MeMocks),
                ...Object.values(ManageSponsorsMocks),
                ...Object.values(ProfileMocks),
                ...Object.values(TeamMocks),
            ]}>
            <Story />
        </MockedProvider>
    ),
];