svg-jest

1.0.1 • Public • Published

svg-jest

This is a small library which transforms .SVG files for jest. It produces and SVG in the stream.

The transformed item will have the following properties on it.

  • data-jest-file-name: The name of the file (e.g. 'some-image.svg')
  • data-jest-svg-name: Only the name portion of the file (e.g. 'some-image')
  • data-testid: Same as data-jest-svg-name, but works with @testing-library/react getByTestId()

Works with both of these formats:

import MySvg from '../images/an-image.svg';
 
import { ReactComponent as MySvg}  from '../images/an-image.svg';

The following JavaScript

const MyComponent = () => {
  return (
    <div>
    <MySvg/>
    </div>
  );
}

The resulting snapshot:

<div>
    <AnImage/>
</div>

The resulting HTML:

<div>
 <svg data-jest-file-name='an-image.svg' data-jest-svg-name='an-image' data-testid='an-image'/>
</div>

In additoin, any properties passed to '' are passed along into both the snapshot and the resulting trees.

usage

Configure jest:

{
    "jest": {
        "transform": {
            "\\.svg$": "svg-jest"
        }
    }
}

Package Sidebar

Install

npm i svg-jest

Weekly Downloads

13,614

Version

1.0.1

License

MIT

Unpacked Size

3.58 kB

Total Files

4

Last publish

Collaborators

  • samclem