Files
mattermost-mobile/test/intl-test-helper.js
Elias Nahum e57bcfdaba MM-30101 Match channel specific global notification preference (#4935)
* MM-30101 Match channel specific global notification preference

* Avoid crash if globalNotifyProps is undefined
2020-11-03 11:59:17 -07:00

34 lines
1.2 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import React from 'react';
import {IntlProvider, intlShape} from 'react-intl';
import {mount, shallow} from 'enzyme';
import {getTranslations} from '@i18n';
const intlProvider = new IntlProvider({locale: 'en'}, {});
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),
});
}