UNPKG

strapi-plugin-i18n

Version:

This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API

54 lines (46 loc) 1.8 kB
'use strict'; const { shouldBeProcessed, getUpdatesInfo } = require('../utils'); describe('i18n - migration utils', () => { describe('shouldBeProcessed', () => { const testData = [ [[], [], false], [['en'], [], false], [['en', 'fr'], [], false], [['en', 'fr'], [{ locale: 'en' }], false], [['en', 'fr'], [{ locale: 'fr' }], false], [['en'], [{ locale: 'fr' }, { locale: 'en' }], false], [['en', 'fr'], [{ locale: 'fr' }, { locale: 'en' }], false], [[], [{ locale: 'en' }], true], [['en'], [{ locale: 'fr' }], true], [['en', 'fr'], [{ locale: 'it' }], true], ]; test.each(testData)('%p %j : %p', (processedLocaleCodes, localizations, expectedResult) => { const result = shouldBeProcessed(processedLocaleCodes)({ localizations }); expect(result).toBe(expectedResult); }); }); describe('getUpdatesInfo', () => { const testData = [ [ [{ name: 'Name', nickname: 'Nickname', localizations: [{ id: 1 }, { id: 2 }] }], ['name'], [{ entriesIdsToUpdate: [1, 2], attributesValues: { name: 'Name' } }], ], [ [ { name: 'Name 1', nickname: 'Nickname 1', localizations: [{ id: 1 }, { id: 2 }] }, { name: 'Name 2', nickname: 'Nickname 2', localizations: [{ id: 3 }, { id: 4 }] }, ], ['name'], [ { entriesIdsToUpdate: [1, 2], attributesValues: { name: 'Name 1' } }, { entriesIdsToUpdate: [3, 4], attributesValues: { name: 'Name 2' } }, ], ], ]; test.each(testData)('%j', (entriesToProcess, attributesToMigrate, expectedResult) => { const result = getUpdatesInfo({ entriesToProcess, attributesToMigrate }); expect(result).toEqual(expectedResult); }); }); });