mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-11-13 03:35:52 +01:00
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
/**
|
|
* Package Sidebar module
|
|
*/
|
|
|
|
import React from 'react';
|
|
import { mount } from 'enzyme';
|
|
import PackageSidebar from '../../../../../src/webui/components/PackageSidebar/index';
|
|
import { packageMeta } from '../store/packageMeta';
|
|
|
|
jest.mock('../../../../../src/webui/utils/api', () => ({
|
|
request: require('../__mocks__/api').default.request,
|
|
}));
|
|
|
|
console.error = jest.fn();
|
|
|
|
describe('<PackageSidebar /> component', () => {
|
|
test('should throw error for the required props', () => {
|
|
const wrapper = mount(<PackageSidebar />);
|
|
const { loadPackageData } = wrapper.instance();
|
|
expect(console.error).toBeCalled();
|
|
loadPackageData().catch(response => {
|
|
expect(response).toBeUndefined();
|
|
expect(wrapper.state()).toEqual({ failed: true });
|
|
});
|
|
});
|
|
|
|
test('should load the packageMeta', () => {
|
|
const wrapper = mount(<PackageSidebar packageName={'verdaccio'} />);
|
|
const { loadPackageData } = wrapper.instance();
|
|
loadPackageData('verdaccio').then(response => {
|
|
expect(wrapper.state('packageMeta')).toEqual(packageMeta);
|
|
});
|
|
expect(wrapper.html()).toMatchSnapshot();
|
|
});
|
|
});
|