forked from Ivasoft/mattermost-mobile
* 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
34 lines
1.2 KiB
JavaScript
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),
|
|
});
|
|
}
|