diff --git a/imports/api/Utility/server/files.js b/imports/api/Utility/server/files.js index fe800f8..ceb0fc9 100644 --- a/imports/api/Utility/server/files.js +++ b/imports/api/Utility/server/files.js @@ -3,13 +3,14 @@ import fs from 'fs'; const as = f => `assets/app/${f}`; export const getFallbackLang = (lang) => { - if (lang === 'ast' || lang === 'gl' || lang === 'eu' || lang === 'ca') { + if (lang === 'ast' || lang === 'gl' || lang === 'eu' || lang === 'ca' || + (lang && lang.match(/es_.*/)) || + (lang && lang.match(/es-.*/))) { return 'es'; } return 'en'; }; - export const getFileNameOfLang = (dir, fileName, ext, lang) => { const base = `${dir}/${fileName}`; const fallback = getFallbackLang(lang); diff --git a/test/file.test.js b/test/file.test.js new file mode 100644 index 0000000..90f3cd7 --- /dev/null +++ b/test/file.test.js @@ -0,0 +1,40 @@ +/* eslint-env mocha */ +/* eslint-disable func-names, prefer-arrow-callback */ +/* eslint-disable import/no-absolute-path */ + +import { chai } from 'meteor/practicalmeteor:chai'; +import { getFileNameOfLang } from '/imports/api/Utility/server/files.js'; + +describe('get file of page', () => { + it('lang es retrieve es', async () => { + chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'es')); + }); + + it('lang en retrieve en', async () => { + chai.expect('pages/about-en.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'en')); + }); + + it('lang gl retrieve es', async () => { + chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'gl')); + }); + + it('lang ast retrieve es', async () => { + chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'gl')); + }); + + it('lang eu retrieve es', async () => { + chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'eu')); + }); + + it('lang ca retrieve es', async () => { + chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'ca')); + }); + + it('lang es-PE retrieve es', async () => { + chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'es-PE')); + }); + + it('lang es_PE retrieve es', async () => { + chai.expect('pages/about-es.md').to.deep.equal(getFileNameOfLang('pages', 'about', 'md', 'es_PE')); + }); +}); diff --git a/test/siteSettings.test.js b/test/siteSettings.test.js index a2b3888..64b8ef1 100644 --- a/test/siteSettings.test.js +++ b/test/siteSettings.test.js @@ -10,6 +10,7 @@ const setting = { name: 'site-test', value: 'Some value', description: 'Some description', + isPublic: true, type: 'string' }; @@ -19,6 +20,11 @@ describe('site settings store', () => { }); it('should insert settings', () => { + // Remove previous test register + const alreadyInserted = SiteSettings.findOne({ name: 'site-test' }); + if (alreadyInserted) { + SiteSettings.remove(alreadyInserted._id); + } const id = SiteSettings.insert(setting); SiteSettings.getSchema(setting.type).validate(setting);