Please help. I cannot run test because in my util langProvider is package that drops tests. I have to mock langProvider function or strings variable. How I can do that?
JavaScript
x
27
27
1
import React, { ReactElement, useState } from 'react';
2
import langProvider from 'utils/langProvider';
3
4
import { HeaderStyled, DropDownStyled } from './styled';
5
import './style.scss';
6
7
function Header(props: any): ReactElement {
8
const [state, setState] = useState({
9
isDropDownOpened: false,
10
isDrawerOpened: false,
11
});
12
13
const strings = langProvider(props.language, 'components.header');
14
15
return (
16
<HeaderStyled className="header">
17
18
</HeaderStyled>
19
);
20
}
21
22
const mapStateToProps = (state: any) => ({
23
language: state.language,
24
});
25
26
export default connect(mapStateToProps)(Header);
27
My test file
JavaScript
1
16
16
1
import { configure, shallow } from 'enzyme';
2
import Adapter from 'enzyme-adapter-react-16';
3
import React from 'react';
4
import Header from './index';
5
6
configure({ adapter: new Adapter() });
7
8
describe('<Header />', () => {
9
const wrapper = shallow(<Header />);
10
11
it('My test', () => {
12
expect('').toEqual('Header');
13
});
14
});
15
16
Advertisement
Answer
not sure, but you can try to insert in your test file before describe
function, something like that:
JavaScript
1
2
1
jest.mock("utils/langProvider", () => ({langProvider: ()=> []}));
2