Migrated to TS all servers helpers

This commit is contained in:
Alejandro Celaya
2020-08-29 13:51:53 +02:00
parent 8cc0695ee9
commit aee4c2d02f
14 changed files with 129 additions and 137 deletions

View File

@@ -16,6 +16,8 @@ describe('<EditServer />', () => {
name: 'name',
url: 'url',
apiKey: 'apiKey',
printableVersion: 'v1.2.0',
version: '1.2.0'
};
beforeEach(() => {

View File

@@ -1,11 +1,13 @@
import React from 'react';
import { mount } from 'enzyme';
import { mount, ReactWrapper } from 'enzyme';
import { Mock } from 'ts-mockery';
import ForServerVersion from '../../../src/servers/helpers/ForServerVersion';
import { ReachableServer, SelectedServer } from '../../../src/servers/data';
describe('<ForServerVersion />', () => {
let wrapped;
let wrapped: ReactWrapper;
const renderComponent = (minVersion, maxVersion, selectedServer) => {
const renderComponent = (selectedServer: SelectedServer, minVersion?: string, maxVersion?: string) => {
wrapped = mount(
<ForServerVersion minVersion={minVersion} maxVersion={maxVersion} selectedServer={selectedServer}>
<span>Hello</span>
@@ -15,10 +17,10 @@ describe('<ForServerVersion />', () => {
return wrapped;
};
afterEach(() => wrapped && wrapped.unmount());
afterEach(() => wrapped?.unmount());
it('does not render children when current server is empty', () => {
const wrapped = renderComponent('1');
const wrapped = renderComponent(null, '1');
expect(wrapped.html()).toBeNull();
});
@@ -28,7 +30,7 @@ describe('<ForServerVersion />', () => {
[ undefined, '1.8.0', '1.8.3' ],
[ '1.7.0', '1.8.0', '1.8.3' ],
])('does not render children when current version does not match requirements', (min, max, version) => {
const wrapped = renderComponent(min, max, { version });
const wrapped = renderComponent(Mock.of<ReachableServer>({ version, printableVersion: version }), min, max);
expect(wrapped.html()).toBeNull();
});
@@ -40,7 +42,7 @@ describe('<ForServerVersion />', () => {
[ undefined, '1.8.0', '1.7.1' ],
[ '1.7.0', '1.8.0', '1.7.3' ],
])('renders children when current version matches requirements', (min, max, version) => {
const wrapped = renderComponent(min, max, { version });
const wrapped = renderComponent(Mock.of<ReachableServer>({ version, printableVersion: version }), min, max);
expect(wrapped.html()).toContain('<span>Hello</span>');
});

View File

@@ -1,20 +1,18 @@
import React from 'react';
import { shallow } from 'enzyme';
import { shallow, ShallowWrapper } from 'enzyme';
import { ServerForm } from '../../../src/servers/helpers/ServerForm';
import { HorizontalFormGroup } from '../../../src/utils/HorizontalFormGroup';
describe('<ServerForm />', () => {
let wrapper;
let wrapper: ShallowWrapper;
const onSubmit = jest.fn();
beforeEach(() => {
wrapper = shallow(<ServerForm onSubmit={onSubmit}><span>Something</span></ServerForm>);
});
afterEach(() => {
jest.resetAllMocks();
wrapper && wrapper.unmount();
});
afterEach(() => wrapper?.unmount());
afterEach(jest.resetAllMocks);
it('renders components', () => {
expect(wrapper.find(HorizontalFormGroup)).toHaveLength(3);