Passed
Pull Request — main (#350)
by Alejandro
21:55
created

test/common/ShlinkVersionsContainer.test.tsx   A

Complexity

Total Complexity 1
Complexity/F 0

Size

Lines of Code 28
Function Count 0

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 24
mnd 1
bc 1
fnc 0
dl 0
loc 28
bpm 0
cpm 0
noi 0
c 0
b 0
f 0
rs 10
1
import { shallow, ShallowWrapper } from 'enzyme';
2
import { Mock } from 'ts-mockery';
3
import ShlinkVersionsContainer from '../../src/common/ShlinkVersionsContainer';
4
import { NonReachableServer, NotFoundServer, ReachableServer, SelectedServer } from '../../src/servers/data';
5
6
describe('<ShlinkVersionsContainer />', () => {
7
  let wrapper: ShallowWrapper;
8
9
  const createWrapper = (selectedServer: SelectedServer) => {
10
    wrapper = shallow(<ShlinkVersionsContainer selectedServer={selectedServer} />);
11
12
    return wrapper;
13
  };
14
15
  afterEach(() => wrapper?.unmount());
16
17
  test.each([
18
    [ null, 'col-12' ],
19
    [ Mock.of<NotFoundServer>({ serverNotFound: true }), 'col-12' ],
20
    [ Mock.of<NonReachableServer>({ serverNotReachable: true }), 'col-12' ],
21
    [ Mock.of<ReachableServer>({ printableVersion: 'v1.0.0' }), 'col-lg-10 offset-lg-2 col-md-9 offset-md-3' ],
22
  ])('renders proper col classes based on type of selected server', (selectedServer, expectedClasses) => {
23
    const wrapper = createWrapper(selectedServer);
24
25
    expect(wrapper.find('div').at(1).prop('className')).toEqual(`text-center ${expectedClasses}`);
26
  });
27
});
28