Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

15 Commits

Repository files navigation

identity-obj-proxy Build Statusnpm versiontest coverage

An identity object using ES6 proxies. Useful for mocking webpack imports. For instance, you can tell Jest to mock this object as imported CSS modules; then all your className lookups on the imported styles object will be returned as-is.

npm install identity-obj-proxy

Real world example Wait what does that even mean

tl;dr

For a React component like

importReact,{Component}from'react';importstylesfrom'./App.css';// CSS Modules hereexportdefaultclassAppextendsComponent{render(){return(<divclassName={styles.root}><h1className={styles.hello}>Hello, world!</h1></div>);}}

we can generate a snapshot as below (notice that the class names get correctly mocked):

exports[`test App renders correctly 1`]=`<div className="root"> <h1 className="hello"> Hello, world! </h1></div>`;

For more information, please take a look at https://github.com/keyanzhang/jest-css-modules-example/ and https://jestjs.io/docs/en/webpack.html.

Requirement

No flag is required for Node.js v6.*; use node --harmony_proxies flag for v5.* and v4.*.

Example

importidObjfrom'identity-obj-proxy';console.log(idObj.foo);// 'foo'console.log(idObj.bar);// 'bar'console.log(idObj[1]);// '1'

About

An identity object using ES6 proxies. Useful for mocking webpack imports like CSS Modules.

Resources

Stars

506 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages