Repository URL to install this package:
|
Version:
4.2.0 ▾
|
const { getAddedKeys, getChangedKeys, getRenamedKeys, getDeletedKeys, updateMessages } = require('./diff');
const sourceMessages = {
'recipe.favorite.name': 'Boozy Baked French Toast',
'recipe.dish3.name': 'French Onion Soup',
'recipe.dish4.name': 'Spinach and Cheese Strata',
'recipe.dish5.name': 'Pasta al Pomodoro',
};
const baseMessages = {
'recipe.dish1.name': 'Boozy Baked French Toast',
'recipe.dish2.name': 'Eggs in Marinara Sauce',
'recipe.dish3.name': 'Tomato Soup',
};
describe('Message modifications', () => {
test('getAddedKeys', () => {
const keys = getAddedKeys(sourceMessages, baseMessages);
expect(keys).toEqual(['recipe.dish4.name', 'recipe.dish5.name']);
});
test('getChangedKeys', () => {
const keys = getChangedKeys(sourceMessages, baseMessages);
expect(keys).toEqual(['recipe.dish3.name']);
});
test('getRenamedKeys', () => {
const keys = getRenamedKeys(sourceMessages, baseMessages);
expect(keys).toEqual([['recipe.dish1.name', 'recipe.favorite.name']]);
});
test('getDeletedKeys', () => {
const keys = getDeletedKeys(sourceMessages, baseMessages);
expect(keys).toEqual(['recipe.dish2.name']);
});
test('updateMessages', () => {
const germanMessages = {
'recipe.dish1.name': 'Boozy Baked French Toast',
'recipe.dish2.name': 'Eggs in Marinara Sauce',
'recipe.dish3.name': 'Tomato Soup',
};
const transformedGermanMessages = updateMessages(germanMessages, {
added: [['recipe.dish4.name', 'Käse Spinat Auflauf'], ['recipe.dish5.name', 'Pasta al Pomodoro']],
changed: [['recipe.dish3.name', 'Französische Zwiebelsuppe']],
renamed: [['recipe.dish1.name', 'recipe.favorite.name']],
deleted: ['recipe.dish2.name'],
});
expect(transformedGermanMessages).toEqual({
'recipe.dish3.name': 'Französische Zwiebelsuppe',
'recipe.dish4.name': 'Käse Spinat Auflauf',
'recipe.dish5.name': 'Pasta al Pomodoro',
'recipe.favorite.name': 'Boozy Baked French Toast',
});
});
});