@atlassian/johnson
Version:
A frontend module for Johnson framework
178 lines (161 loc) • 3.98 kB
JavaScript
import React from 'react';
import Johnson from '../src/index';
import {addStory} from './config';
import {eventLevels} from '../src/constants';
addStory('no events', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
events: [],
}}
/>
));
addStory('mixed events', props => (
<Johnson {...props} />
));
addStory('ConfigCustomisation default', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
events: props.initialData.events.filter(event => event.story === 'ConfigCustomisation').map(event => ({
...event,
templateContext: {
...event.templateContext,
filesThatCannotBeCopied: [],
},
})),
}}
/>
));
addStory('ConfigCustomisation default, some files can\'t be copied', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
events: props.initialData.events.filter(event => event.story === 'ConfigCustomisation'),
}}
/>
));
addStory('ConfigCustomisation read only', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
events: props.initialData.events.filter(event => event.story === 'ConfigCustomisationReadOnly'),
}}
/>
));
addStory('ConfigCustomisation after partial copy', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
events: props.initialData.events.filter(event => event.story === 'ConfigCustomisationReadOnly').map(event => ({
...event,
dismissible: false,
})),
}}
/>
));
addStory('ConfigCustomisation success', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
events: props.initialData.events.filter(event => event.story === 'ConfigCustomisationSuccess'),
}}
/>
));
addStory('ConfigCustomisation mixed', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
events: props.initialData.events.filter(event => event.templateContext),
}}
/>
));
addStory('checks incomplete', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
checksComplete: false,
}}
/>
));
addStory('dismissibles only', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
events: props.initialData.events.filter(event => event.dismissible),
}}
/>
));
addStory('non-dismissible warnings only', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
events: props.initialData.events.filter(event => !event.dismissible && event.level === eventLevels.warning),
}}
/>
));
addStory('dismissibles only, but can not authorise users', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
events: props.initialData.events.filter(event => event.dismissible),
canAuthoriseUsers: false,
}}
/>
));
addStory('errors present, but hidden', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
events: undefined,
errorsPresentButHidden: true,
}}
/>
));
addStory('old style events', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
events: props.initialData.events
.filter(event => event.title)
.map(event => ({
...event,
date: '2019-08-22 16:15:26',
exception: 'I\'m not sure what should be here',
old: true,
})),
}}
/>
));
addStory('new and old style events', props => (
<Johnson
{...props}
initialData={{
...props.initialData,
events: [
...props.initialData.events,
...props.initialData.events
.filter(event => event.title)
.map(event => ({
...event,
date: '2019-08-22 16:15:26',
exception: 'I\'m not sure what should be here',
old: true,
})),
],
}}
/>
));