Skip to content

Latest commit

 

History

History
65 lines (52 loc) · 1.34 KB

README.md

File metadata and controls

65 lines (52 loc) · 1.34 KB

svg-jest

npm GitHub issues

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

Configuring Jest, the example below uses package.json, but you can see: https://jestjs.io/docs/en/configuration for other examples.

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