1.0.67 • Published 4 years ago

storybook-snapper v1.0.67

Weekly downloads
127
License
MIT
Repository
-
Last release
4 years ago

storybook-snapshot

A utility library originally created as an accompanying tool for eyes-storybook.

The idea is to write snapshot tests as describe/it test suites like in familiar testing frameworks. Each test suite creates a storybook story, which eyes-storybook, in turn, takes a snapshot of.

This library relies on some of eyes-storybook's methods, however, it does not depend on eyes-storybook, which means it can be used just for generating stories.

Usage

Install with

npm install --save-dev storybook-snapper

or

yarn add --dev storybook-snapper

For testing, use the applitoolsConfig method in your applitools.config.js file, in order to generate a preconfigured configuration. This configuration is necessary for async tests to work.

In you applitools.config.js file:

const applitoolsConfig = require('storybook-snapper/config/applitools.config');

// optional local configuration file for overrides
let config;

try {
  // for local testing you can add the `apiKey` to your private configuration file
  config = require('./applitools.private.config.js');
} catch (e) {}

// Note that the `appName` property is required
module.exports = applitoolsConfig({config});

In your visual/story file:

import React from 'react';
import { visualize, story, snap, xsnap } from 'storybook-snapper';
import { MyComponent } from 'path/to/MyComponent';

visualize('MyComponent', () => {
    story('basic story', () => {
        snap('simple render', <MyComponent/>);
        snap('as a function', () => <MyComponent/>);
    });

    story('another story', () => {
        class AsyncStoryWrapper extends React.Component {
            componentDidMount() {
                setTimeout(() => {
                    this.props.onDone();
                }, 3000);
            }

            render() {
                return <MyComponent/>;
            }
        }

        snap('async story', done => <AsyncStoryWrapper onDone={done}/>);
    });

    snap('only one level of nesting', <MyComponent/>);

    /**
    * when used with eyes-storybook,
    * a snapshot can be ignored with xsnap
    */
    snap.skip('ignore this test', <MyComponent/>);

    /**
    * alias for "snap.skip"
    */
    xsnap('ignore this test', <MyComponent/>);

    /**
    * adds a red outline when a snapshot is taken
    * helpful for debugging async stories
    */
    snap.debug('debug story', done => <AsyncStoryWrapper onDone={done}/>)
});
1.0.67

4 years ago

1.0.66

5 years ago

1.0.65

5 years ago

1.0.64

5 years ago

1.0.63

5 years ago

1.0.62

5 years ago

1.0.61

5 years ago

1.0.60

5 years ago

1.0.59

5 years ago

1.0.58

5 years ago

1.0.57

5 years ago

1.0.56

5 years ago

1.0.55

5 years ago

1.0.54

5 years ago

1.0.53

5 years ago

1.0.52

5 years ago

1.0.51

5 years ago

1.0.50

5 years ago

1.0.48

5 years ago

1.0.49

5 years ago

1.0.47

5 years ago

1.0.46

5 years ago

1.0.45

5 years ago

1.0.44

5 years ago

1.0.43

5 years ago

1.0.42

5 years ago

1.0.41

5 years ago

1.0.40

5 years ago

1.0.39

5 years ago

1.0.38

5 years ago

1.0.37

5 years ago

1.0.36

5 years ago

1.0.35

5 years ago

1.0.34

5 years ago

1.0.33

5 years ago

1.0.32

5 years ago

1.0.31

5 years ago

1.0.30

5 years ago

1.0.29

5 years ago

1.0.28

5 years ago

1.0.27

5 years ago

1.0.26

5 years ago

1.0.25

5 years ago

1.0.24

5 years ago

1.0.23

5 years ago

1.0.22

5 years ago

1.0.21

5 years ago

1.0.20

5 years ago

1.0.19

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.16

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.9

5 years ago

1.0.10

5 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago