express-translator
Version:
Translator helper for Express using PO files
48 lines (40 loc) • 1.5 kB
JavaScript
describe('Unit test', function() {
const exampleSet = require('../__dump__/exampleSet');
describe('Using Node-gettext', function() {
// Before all.
const Gettext = require('node-gettext');
jest.mock('node-gettext');
const {translate} = require('../../client')(
{library: exampleSet});
const {addTranslations, setLocale, setTextDomain, gettext, pgettext} = Gettext.mock.instances[0];
gettext.mockReturnValue('bar');
afterAll(() => {
Gettext.mockRestore();
});
test('Should use node-gettext to translate', () => {
expect(Gettext).toBeCalled();
});
test('Should use addTranslations', () => {
expect(addTranslations).toBeCalledTimes(1);
expect(addTranslations).toBeCalledWith('en-US', 'default', exampleSet);
});
test('Should use setLocale', () => {
expect(setLocale).toBeCalledTimes(1);
expect(setLocale).toBeCalledWith('en-US');
});
test('Should use setTextDomain', () => {
expect(setTextDomain).toBeCalledTimes(1);
expect(setTextDomain).toBeCalledWith('default');
});
test('Should use gettext to translate', () => {
translate('foo');
expect(gettext).toBeCalledTimes(1);
expect(gettext).toBeCalledWith('foo');
});
test('Should use pgettext to translate with context', () => {
translate('foo', {context: 'custom'});
expect(pgettext).toBeCalledTimes(1);
expect(pgettext).toBeCalledWith('custom', 'foo');
});
});
});