{"_id":"enzyme-async-helpers","_rev":"3-ee44b92bcc6df47bc080495584059e3e","name":"enzyme-async-helpers","description":"Async helpers for testing React components with Enzyme.","dist-tags":{"latest":"0.9.1"},"versions":{"0.9.0":{"name":"enzyme-async-helpers","version":"0.9.0","author":{"name":"Gabriel Nordeborn"},"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/zth/enzyme-async-helpers.git"},"description":"Async helpers for testing React components with Enzyme.","keywords":["enzyme","react","async","promise","await","wait","jest","testing","tdd"],"files":["package.json","README.md","LICENSE","lib","yarn.lock"],"scripts":{"prepublish":"yarn build","build":"rm -rf lib && babel src/ -d lib/ --ignore __tests__","test":"jest src --coverage","test:watch":"yarn jest src --watch","flow":"flow"},"jest":{"setupFiles":["./config/jest-shims.js","./config/jest-setup.js"],"collectCoverageFrom":["src/**/*"]},"devDependencies":{"babel-cli":"^6.26.0","babel-jest":"^21.2.0","babel-preset-es2015":"^6.24.1","babel-preset-flow":"^6.23.0","babel-preset-react":"^6.24.1","enzyme":"^3.2.0","enzyme-adapter-react-16":"^1.1.0","flow-bin":"0.59","flow-typed":"^2.2.3","jest":"^21.2.1","react":"^16.2.0","react-dom":"^16.2.0"},"peerDependencies":{"enzyme":"^3.0.0","enzyme-adapter-react-16":"^1.0.0"},"gitHead":"06ead7fa66a0d08edcc009e7b8cf83a077c774cc","bugs":{"url":"https://github.com/zth/enzyme-async-helpers/issues"},"homepage":"https://github.com/zth/enzyme-async-helpers#readme","_id":"enzyme-async-helpers@0.9.0","_npmVersion":"5.6.0","_nodeVersion":"9.2.0","_npmUser":{"name":"_zth","email":"gabbe.nord@gmail.com"},"dist":{"integrity":"sha512-9Vitnuyi30oasANLx5Agf9oNlnJxg9zIh4b0lzFxc1NWU3rd75xiAKs+TKapme8V6v2oN717XEnp5edl//xeVw==","shasum":"ee97df2044a5a21cd24f548537a0c1f28ab9fb50","tarball":"https://registry.npmjs.org/enzyme-async-helpers/-/enzyme-async-helpers-0.9.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCI17m1T3GQWwqL6GvFRNLaDtNi2oWL5lPeYLYN7HGOFgIgaCNZNt86OZ2Y/ptulFzsf8ZqDSmG/zW2nBH3ejdQek4="}]},"maintainers":[{"name":"_zth","email":"gabbe.nord@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/enzyme-async-helpers-0.9.0.tgz_1513110481025_0.8110568686388433"},"directories":{}},"0.9.1":{"name":"enzyme-async-helpers","version":"0.9.1","author":{"name":"Gabriel Nordeborn"},"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/zth/enzyme-async-helpers.git"},"description":"Async helpers for testing React components with Enzyme.","keywords":["enzyme","react","async","promise","await","wait","jest","testing","tdd"],"files":["package.json","README.md","LICENSE","lib","yarn.lock"],"scripts":{"prepublish":"yarn build","build":"rm -rf lib && babel src/ -d lib/ --ignore __tests__ && flow-copy-source --ignore '**/__tests__/**' src lib","test":"jest src --coverage","test:watch":"yarn jest src --watch","flow":"flow"},"jest":{"setupFiles":["./config/jest-shims.js","./config/jest-setup.js"],"collectCoverageFrom":["src/**/*"]},"devDependencies":{"babel-cli":"^6.26.0","babel-jest":"^21.2.0","babel-preset-es2015":"^6.24.1","babel-preset-flow":"^6.23.0","babel-preset-react":"^6.24.1","enzyme":"^3.2.0","enzyme-adapter-react-16":"^1.1.0","flow-bin":"^0.66.0","flow-copy-source":"^1.3.0","flow-typed":"^2.2.3","jest":"^21.2.1","react":"^16.2.0","react-dom":"^16.2.0"},"peerDependencies":{"enzyme":"^3.0.0","enzyme-adapter-react-16":"^1.0.0"},"dependencies":{"enzyme-to-json":"^3.3.1","pretty-format":"^22.4.0"},"gitHead":"842c980dded125d96698feec75975c86237a33dc","bugs":{"url":"https://github.com/zth/enzyme-async-helpers/issues"},"homepage":"https://github.com/zth/enzyme-async-helpers#readme","_id":"enzyme-async-helpers@0.9.1","_npmVersion":"5.6.0","_nodeVersion":"9.3.0","_npmUser":{"name":"_zth","email":"gabbe.nord@gmail.com"},"dist":{"integrity":"sha512-eqpdbkFXJP5Ynd3WVsJkMA2/xKDM/MgKzJVWeqfr1vF6LUCeaegledHir0ndJ+rJqV/vZBeCMgRj3YDwxuvHcw==","shasum":"a301c43686c30ad0801aa64537b5b6693eaa5769","tarball":"https://registry.npmjs.org/enzyme-async-helpers/-/enzyme-async-helpers-0.9.1.tgz","fileCount":14,"unpackedSize":165215,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDhKpDH0RDUgcUYZ/O54cuj5G3nvH1sGh/ocv9mRIJxHAiAtkqdDYRs+7kxMIuU+yQg8zZFsFqB6iWggsm+zfEI6Tw=="}]},"maintainers":[{"name":"_zth","email":"gabbe.nord@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/enzyme-async-helpers_0.9.1_1519324584106_0.8581089146121628"},"_hasShrinkwrap":false}},"readme":"# enzyme-async-helpers\nA library to aid in testing async React components and methods using Enzyme.\n\n## Installation\nThis library was built with React 16 and Enzyme 3 in mind. It *might* work on lower versions\nas well, but the lib is developed for and tested on those versions.\n```\nyarn add --dev enzyme-async-helpers\n```\n\n## Usage\nI recommend checking out the tests to see more examples than the ones below. \nThe lib exposes the following methods:\n\n### waitForElement\n*Signature*: `(wrapper: EnzymeWrapper, elementSelector: EnzymeSelector, config?: Config) => Promise<void>`\n\nWait for an element to appear. You can use any valid Enzyme selector (a component, CSS selector, etc). \n\n```javascript\nimport { waitForElement } from 'enzyme-async-helpers';\n...\n\nit('should wait for MyComponent to appear', async () => {\n    const wrapper = mount(<Wrapper />);\n    \n    await waitForElement(wrapper, MyComponent);\n    expect(wrapper.find(MyComponent).length).toBe(1);\n});\n``` \n\n### waitForState\n*Signature*: `(wrapper: EnzymeWrapper, stateValidationFn: (state: Object) => boolean, config?: Config) => Promise<void>`\n\nWait for your component's state to update to something.\n\n```javascript\nimport { waitForState } from 'enzyme-async-helpers';\n...\n\nit('should wait for loading to stop', async () => {\n    const wrapper = mount(<MyComponent />);\n    \n    await waitForState(wrapper, state => state.loading === false);\n    expect(wrapper.instance().state.loading).toBe(false);\n});\n```\n\n### waitForProps\n*Signature*: `(wrapper: EnzymeWrapper, propsValidationFn: (props: Object) => boolean, config?: Config) => Promise<void>`\n\nWait for your component's props to update to something.\n\n```javascript\nimport { waitForProps } from 'enzyme-async-helpers';\n...\n\nit('should wait for someProp to be valid', async () => {\n    const wrapper = mount(<Wrapper />); // Wrapper renders SomeComponent and passes in props\n    const componentWrapper = wrapper.find(SomeComponent);\n    \n    await waitForProps(componentWrapper, props => props.someProp === 'test');\n    expect(componentWrapper.instance().props.someProp).toBe('test');\n});\n```  \n\n### config\nAll the methods listed above take a third `config` argument of the following shape:\n```javascript\ntype Config = {\n    interval: number, // Default: 50, how often to check for validity\n    timeout: number, // Default: 2000 (2 seconds), how long to wait before timing out\n    logStructureOnTimeout?: boolean, // Default: true, logs the wrapper's rendered structure when the wait times out. An attempt to help out in finding what's wrong.\n    logStructureOnSuccess?: boolean // Default: false, logs the wrapper's rendered structure on success.\n}\n```\n","maintainers":[{"name":"_zth","email":"gabbe.nord@gmail.com"}],"time":{"modified":"2022-05-01T09:21:33.491Z","created":"2017-12-12T20:28:01.117Z","0.9.0":"2017-12-12T20:28:01.117Z","0.9.1":"2018-02-22T18:36:24.188Z"},"homepage":"https://github.com/zth/enzyme-async-helpers#readme","keywords":["enzyme","react","async","promise","await","wait","jest","testing","tdd"],"repository":{"type":"git","url":"git+https://github.com/zth/enzyme-async-helpers.git"},"author":{"name":"Gabriel Nordeborn"},"bugs":{"url":"https://github.com/zth/enzyme-async-helpers/issues"},"license":"MIT","readmeFilename":"README.md"}