Files
mattermost-mobile/test/intl-test-helper.js
Daniel Espino García 4c8594d330 Add linter rules for import order and type member delimiters (#5514)
* Add linter rules for import order and type member delimiters

* Remove unneeded group

* Group all app/* imports before the internal imports

* Move app/ imports before parent imports

* Separate @node_modules imports into a different group

* Substitute app paths by aliases

* Fix @node_modules import order and add test related modules

* Add aliases for types and test, and group import types
2021-07-23 11:06:04 +02:00

34 lines
1.2 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {mount, shallow} from 'enzyme';
import React from 'react';
import {IntlProvider, intlShape} from 'react-intl';
import {getTranslations} from '@i18n';
const intlProvider = new IntlProvider({locale: 'en'}, {});
export const {intl} = intlProvider.getChildContext();
export function shallowWithIntl(node, {context} = {}) {
return shallow(React.cloneElement(node, {intl}), {
context: Object.assign({}, context, {intl}),
});
}
export function shallowWithIntlMessages(node, {context} = {}) {
const provider = new IntlProvider({locale: 'en', messages: getTranslations('en')}, {});
const {intl: intlWithMessages} = provider.getChildContext();
return shallow(React.cloneElement(node, {intl: intlWithMessages}), {
context: Object.assign({}, context, {intl: intlWithMessages}),
});
}
export function mountWithIntl(node, {context, childContextTypes} = {}) {
return mount(React.cloneElement(node, {intl}), {
context: Object.assign({}, context, {intl}),
childContextTypes: Object.assign({}, {intl: intlShape}, childContextTypes),
});
}