/**
* PackageList component
*/
import React from 'react';
import { mount } from 'enzyme';
import PackageList from '../../../../src/webui/components/PackageList/index';
import { BrowserRouter } from 'react-router-dom';
describe(' component', () => {
it('should load the component with no packages', () => {
const props = {
packages: [],
help: true
};
const wrapper = mount(
);
expect(wrapper.find('Help')).toHaveLength(1);
expect(wrapper.find('h1').text()).toEqual('No Package Published Yet');
});
it('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(
);
expect(wrapper.find('.listTitle').text()).toContain('Available Packages');
// package count
expect(wrapper.find('Package')).toHaveLength(3);
// match snapshot
expect(wrapper.html()).toMatchSnapshot();
});
});