diff --git a/src/components/Engines/Engines.test.tsx b/src/components/Engines/Engines.test.tsx new file mode 100644 index 0000000..3339b2e --- /dev/null +++ b/src/components/Engines/Engines.test.tsx @@ -0,0 +1,66 @@ +import React from 'react'; +import { shallow } from 'enzyme'; + +jest.mock('./img/node.png', () => ''); +jest.mock('../Install/img/npm.svg', () => ''); + +describe(' component', () => { + beforeEach(() => { + jest.resetModules(); + }); + + test('should render the component in default state', () => { + const packageMeta = { + latest: { + engines: { + node: '>= 0.1.98', + npm: '>3', + }, + }, + }; + + jest.doMock('../../pages/version/Version', () => ({ + DetailContextConsumer: component => { + return component.children({ packageMeta }); + }, + })); + + const Engines = require('./Engines').default; + const wrapper = shallow(); + expect(wrapper.html()).toMatchSnapshot(); + }); + + test('should render the component when there is no engine key in package meta', () => { + const packageMeta = { + latest: {}, + }; + + jest.doMock('../../pages/version/Version', () => ({ + DetailContextConsumer: component => { + return component.children({ packageMeta }); + }, + })); + + const Engines = require('./Engines').default; + const wrapper = shallow(); + expect(wrapper.html()).toEqual(''); + }); + + test('should render the component when there is no keys in engine in package meta', () => { + const packageMeta = { + latest: { + engines: {}, + }, + }; + + jest.doMock('../../pages/version/Version', () => ({ + DetailContextConsumer: component => { + return component.children({ packageMeta }); + }, + })); + + const Engines = require('./Engines').default; + const wrapper = shallow(); + expect(wrapper.html()).toEqual(''); + }); +}); diff --git a/src/components/Engines/__snapshots__/Engines.test.tsx.snap b/src/components/Engines/__snapshots__/Engines.test.tsx.snap new file mode 100644 index 0000000..f3ec735 --- /dev/null +++ b/src/components/Engines/__snapshots__/Engines.test.tsx.snap @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` component should render the component in default state 1`] = `"

    node JS

  • >= 0.1.98

    NPM version

  • >3
"`;