/* eslint-disable @typescript-eslint/no-var-requires */ import {ProjectPath} from '../../src/backend/ProjectPath'; import {promises as fsp} from 'fs'; import * as path from 'path'; const chai = require('chai'); const {expect} = chai; // to help WebStorm to handle the test cases declare let describe: any; describe('UI', () => { it('translation should be listed in the angular.json', async () => { const base = path.join('src', 'frontend', 'translate'); const translations = await fsp.readdir(path.join(ProjectPath.Root, base)); const angularConfig = require(path.join(ProjectPath.Root, 'angular.json')); const knownTranslations = angularConfig.projects.pigallery2.i18n.locales; for (const t of translations) { let lang = t.substring(t.indexOf('.') + 1, t.length-4); if (lang === 'en') { continue; // no need to add 'en' as it is the default language. } if (lang === 'cn') { lang = 'zh'; // zh county code is Chinese } const translationPath = path.join(base, t).replace(new RegExp('\\\\', 'g'), '/'); expect(knownTranslations[lang]).to.deep.equal({ baseHref: '', translation: translationPath }, translationPath + ' should be added to angular.json'); } }); });