docusaurus/packages/docusaurus-theme-classic/update-code-translations.test.js
2021-03-19 14:23:31 +01:00

30 lines
1 KiB
JavaScript

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const {extractThemeCodeMessages} = require('./update-code-translations');
const path = require('path');
const fs = require('fs-extra');
const {mapValues, pickBy} = require('lodash');
describe('update-code-translations', () => {
test(`to have base.json contain all the translations extracted from the theme. Please run "yarn workspace @docusaurus/theme-classic update-code-translations" to keep base.json up-to-date.`, async () => {
const baseMessages = pickBy(
JSON.parse(
await fs.readFile(
path.join(__dirname, 'codeTranslations', 'base.json'),
),
),
(_, key) => !key.endsWith('___DESCRIPTION'),
);
const codeMessages = mapValues(
await extractThemeCodeMessages(),
(translation) => translation.message,
);
expect(codeMessages).toEqual(baseMessages);
});
});