1
0
mirror of https://github.com/verdaccio/verdaccio.git synced 2024-11-13 03:35:52 +01:00
verdaccio/test/unit/webui/components/packagelist.spec.js
Juan Picado @jotadeveloper f4e9d3208a
chore: update it to test
2018-12-05 19:30:08 +01:00

66 lines
1.6 KiB
JavaScript

/**
* PackageList component
*/
import React from 'react';
import { mount } from 'enzyme';
import PackageList from '../../../../src/webui/components/PackageList/index';
import Help from '../../../../src/webui/components/Help/index';
import { BrowserRouter } from 'react-router-dom';
describe('<PackageList /> component', () => {
test('should load the component with no packages', () => {
const props = {
packages: [],
help: true
};
const wrapper = mount(
<PackageList packages={props.packages} help={props.help} />
);
expect(wrapper.find(Help).exists()).toBeTruthy();
});
test('should load the component with packages', () => {
const props = {
packages: [
{
name: 'verdaccio',
version: '1.0.0',
time: new Date(),
description: 'Private NPM repository',
author: { name: 'Sam' }
},
{
name: 'abc',
version: '1.0.1',
time: new Date(),
description: 'abc description',
author: { name: 'Rose' }
},
{
name: 'xyz',
version: '1.1.0',
description: 'xyz description',
author: { name: 'Martin' }
}
],
help: false
};
const wrapper = mount(
<BrowserRouter>
<PackageList packages={props.packages} help={props.help} />
</BrowserRouter>
);
expect(wrapper.find('.listTitle').text()).toContain('Available Packages');
// package count
expect(wrapper.find('Package')).toHaveLength(3);
// match snapshot
expect(wrapper.html()).toMatchSnapshot();
});
});