1
0
mirror of https://github.com/SomboChea/ui synced 2024-11-28 17:04:28 +07:00
verdaccio-ui/test/unit/webui/components/packagelist.spec.js
2019-04-04 21:23:40 +02:00

64 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 help={props.help} packages={props.packages} />
);
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(1532211072138).getTime(),
description: 'Private NPM repository',
author: { name: 'Sam', avatar: 'test avatar' }
},
{
name: 'abc',
version: '1.0.1',
time: new Date(1532211072138).getTime(),
description: 'abc description',
author: { name: 'Rose', avatar: 'test avatar' }
},
{
name: 'xyz',
version: '1.1.0',
description: 'xyz description',
author: { name: 'Martin', avatar: 'test avatar' }
}
],
help: false
};
const wrapper = mount(
<BrowserRouter>
<PackageList help={props.help} packages={props.packages} />
</BrowserRouter>
);
// package count
expect(wrapper.find('Package')).toHaveLength(3);
// match snapshot
expect(wrapper.html()).toMatchSnapshot();
});
});