shlink-web-client/test/common/AsideMenu.test.tsx

29 lines
889 B
TypeScript
Raw Normal View History

import { shallow, ShallowWrapper } from 'enzyme';
import React from 'react';
import { Mock } from 'ts-mockery';
2018-12-18 00:32:51 +03:00
import asideMenuCreator from '../../src/common/AsideMenu';
import { ServerWithId } from '../../src/servers/data';
2018-08-12 09:49:08 +03:00
describe('<AsideMenu />', () => {
let wrapped: ShallowWrapper;
const DeleteServerButton = () => null;
2018-08-12 09:49:08 +03:00
beforeEach(() => {
2018-12-18 00:32:51 +03:00
const AsideMenu = asideMenuCreator(DeleteServerButton);
wrapped = shallow(<AsideMenu selectedServer={Mock.of<ServerWithId>({ id: 'abc123' })} />);
2018-08-12 09:49:08 +03:00
});
afterEach(() => wrapped.unmount());
2018-08-12 09:49:08 +03:00
it('contains links to different sections', () => {
2020-03-05 13:58:35 +03:00
const links = wrapped.find('[to]');
2018-08-12 09:49:08 +03:00
2020-03-15 16:03:41 +03:00
expect(links).toHaveLength(4);
links.forEach((link) => expect(link.prop('to')).toContain('abc123'));
2018-08-12 09:49:08 +03:00
});
it('contains a button to delete server', () => {
2018-12-18 00:32:51 +03:00
expect(wrapped.find(DeleteServerButton)).toHaveLength(1);
2018-08-12 09:49:08 +03:00
});
});