Repository URL to install this package:
|
Version:
4.2.0 ▾
|
const globby = require('globby');
const babel = require('babel-core');
const { extractDefaultMessagesFromFile, extractDefaultMessages } = require('./extract');
jest.mock('globby');
jest.mock('babel-core');
describe('Message definition extraction', () => {
test('extractDefaultMessagesFromFile', async () => {
const reactIntlMetadata = { messages: [{ id: 'key', defaultMessage: 'value' }] };
babel.transformFile.mockImplementation((_, __, cb) => {
cb(null, { metadata: { 'react-intl': reactIntlMetadata } });
});
const messages = await extractDefaultMessagesFromFile('i18n/en.json');
expect(messages).toEqual({ key: 'value' });
});
test('extractDefaultMessages', async () => {
const reactIntlMetadata = { messages: [{ id: 'title', defaultMessage: 'widget' }] };
babel.transformFile.mockImplementation((_, __, cb) => {
cb(null, { metadata: { 'react-intl': reactIntlMetadata } });
});
globby.mockResolvedValue(['src/components/widget/messages.js']);
const messages = await extractDefaultMessages('src/**/messages.js');
expect(messages).toEqual({ title: 'widget' });
});
});