mirror of
https://github.com/shlinkio/shlink-web-client.git
synced 2026-03-18 13:33:51 +00:00
Fixed DomainStatusIcon test
This commit is contained in:
@@ -1,20 +1,21 @@
|
|||||||
import { shallow, ShallowWrapper } from 'enzyme';
|
import { shallow, ShallowWrapper } from 'enzyme';
|
||||||
import { UncontrolledTooltip } from 'reactstrap';
|
import { UncontrolledTooltip } from 'reactstrap';
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
||||||
|
import { Mock } from 'ts-mockery';
|
||||||
import { faTimes, faCheck, faCircleNotch } from '@fortawesome/free-solid-svg-icons';
|
import { faTimes, faCheck, faCircleNotch } from '@fortawesome/free-solid-svg-icons';
|
||||||
import { DomainStatus } from '../../../src/domains/data';
|
import { DomainStatus } from '../../../src/domains/data';
|
||||||
import { DomainStatusIcon } from '../../../src/domains/helpers/DomainStatusIcon';
|
import { DomainStatusIcon } from '../../../src/domains/helpers/DomainStatusIcon';
|
||||||
import { MediaMatcher } from '../../../src/utils/types';
|
|
||||||
import { Mock } from 'ts-mockery';
|
|
||||||
|
|
||||||
describe('<DomainStatusIcon />', () => {
|
describe('<DomainStatusIcon />', () => {
|
||||||
|
const matchMedia = jest.fn().mockReturnValue(Mock.of<MediaQueryList>({ matches: false }));
|
||||||
let wrapper: ShallowWrapper;
|
let wrapper: ShallowWrapper;
|
||||||
const createWrapper = (status: DomainStatus, matchMedia?: MediaMatcher) => {
|
const createWrapper = (status: DomainStatus) => {
|
||||||
wrapper = shallow(<DomainStatusIcon status={status} matchMedia={matchMedia} />);
|
wrapper = shallow(<DomainStatusIcon status={status} matchMedia={matchMedia} />);
|
||||||
|
|
||||||
return wrapper;
|
return wrapper;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
beforeEach(jest.clearAllMocks);
|
||||||
afterEach(() => wrapper?.unmount());
|
afterEach(() => wrapper?.unmount());
|
||||||
|
|
||||||
it('renders loading icon when status is "validating"', () => {
|
it('renders loading icon when status is "validating"', () => {
|
||||||
@@ -58,11 +59,12 @@ describe('<DomainStatusIcon />', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
[ true, 'top-sart' ],
|
[ true, 'top-start' ],
|
||||||
[ false, 'left' ],
|
[ false, 'left' ],
|
||||||
])('places the tooltip properly based on query match', (isMobile, expectedPlacement) => {
|
])('places the tooltip properly based on query match', (isMobile, expectedPlacement) => {
|
||||||
const mediaMatch = jest.fn().mockReturnValue(Mock.of<MediaQueryList>({ matches: isMobile }));
|
matchMedia.mockReturnValue(Mock.of<MediaQueryList>({ matches: isMobile }));
|
||||||
const wrapper = createWrapper('valid', mediaMatch);
|
|
||||||
|
const wrapper = createWrapper('valid');
|
||||||
const tooltip = wrapper.find(UncontrolledTooltip);
|
const tooltip = wrapper.find(UncontrolledTooltip);
|
||||||
|
|
||||||
expect(tooltip).toHaveLength(1);
|
expect(tooltip).toHaveLength(1);
|
||||||
|
|||||||
Reference in New Issue
Block a user