From ff987f017c7d6db3c7b9a097d6281a93253b7393 Mon Sep 17 00:00:00 2001 From: wonknu10 Date: Mon, 31 Oct 2016 14:22:57 +0100 Subject: [PATCH] reference editor - lint && unit test --- src/cli/cms/data/index.js | 2 +- src/cli/cms/reference/index.js | 2 +- src/cli/cms/reference/reference.js | 14 ++++---- .../scripts/modules/EditorReferences.js | 4 --- src/server/routes/get-reference.js | 2 +- .../views/partials/right-references-list.html | 2 +- test/fixtures/reference/test.json | 2 +- test/reference.js | 33 +++++++++++++++++++ 8 files changed, 46 insertions(+), 15 deletions(-) create mode 100644 test/reference.js diff --git a/src/cli/cms/data/index.js b/src/cli/cms/data/index.js index a499aec3..1a5be64a 100644 --- a/src/cli/cms/data/index.js +++ b/src/cli/cms/data/index.js @@ -20,4 +20,4 @@ export { regex, metas, file -} \ No newline at end of file +} diff --git a/src/cli/cms/reference/index.js b/src/cli/cms/reference/index.js index 32253927..4d9bca8f 100644 --- a/src/cli/cms/reference/index.js +++ b/src/cli/cms/reference/index.js @@ -2,4 +2,4 @@ import * as reference from './reference' export { reference -} \ No newline at end of file +} diff --git a/src/cli/cms/reference/reference.js b/src/cli/cms/reference/reference.js index 97be3c0b..50725376 100644 --- a/src/cli/cms/reference/reference.js +++ b/src/cli/cms/reference/reference.js @@ -2,19 +2,21 @@ import path from 'path' import fse from 'fs-extra' import { + coreUtils, cmsData, config } from '../../' export function getFiles(name = '') { - var pathToReferences = path.join(config.root, config.reference.url) - var res = {} + const pathToReferences = path.join(config.root, config.reference.url) + let res = {} if(name !== '') res[name] = cmsData.file.get(name) else { - Array.prototype.forEach.call(fse.readdirSync(pathToReferences), (el) => { - var pathToReference = path.join(pathToReferences, el) - if(el.indexOf('.json') > -1) res[pathToReference] = cmsData.file.get(pathToReference) + const files = coreUtils.file.getFilesSync(pathToReferences, true, '.json') + Array.prototype.forEach.call(files, (pathFile) => { + var fileName = pathFile.split('/'); + res[fileName[fileName.length - 1]] = cmsData.file.get(pathFile) }) } @@ -22,7 +24,7 @@ export function getFiles(name = '') { } export function saveFile(url, json) { - fse.writeJson(url, JSON.parse(json), function (err) { + fse.writeJson(path.join(config.root, config.reference.url, url), JSON.parse(json), function (err) { if(err) console.log('saveFile reference error: ', err) }) } diff --git a/src/server/public/scripts/modules/EditorReferences.js b/src/server/public/scripts/modules/EditorReferences.js index 84f68e5e..cea5fb38 100644 --- a/src/server/public/scripts/modules/EditorReferences.js +++ b/src/server/public/scripts/modules/EditorReferences.js @@ -24,10 +24,6 @@ export default class EditorFiles { this.textArea = document.querySelector('.display-json') this.jsonError = document.querySelector('.json-error') if(!this.referenceLinks) return - Array.prototype.forEach.call(this.referenceLinks, (referenceLink) => { - var dataHref = referenceLink.getAttribute('data-href').split('/') - referenceLink.textContent = dataHref[dataHref.length - 1] - }) this.rebind() }) }) diff --git a/src/server/routes/get-reference.js b/src/server/routes/get-reference.js index a7e89a62..6b68541e 100644 --- a/src/server/routes/get-reference.js +++ b/src/server/routes/get-reference.js @@ -7,4 +7,4 @@ var route = function(req, res){ res.send(JSON.stringify({reference: Manager.instance.getReferences()})) } -export default route \ No newline at end of file +export default route diff --git a/src/server/views/partials/right-references-list.html b/src/server/views/partials/right-references-list.html index 1d8d0d73..f79af3c1 100644 --- a/src/server/views/partials/right-references-list.html +++ b/src/server/views/partials/right-references-list.html @@ -10,7 +10,7 @@ diff --git a/test/fixtures/reference/test.json b/test/fixtures/reference/test.json index e6cffbda..13ba57ba 100644 --- a/test/fixtures/reference/test.json +++ b/test/fixtures/reference/test.json @@ -2,4 +2,4 @@ "ref1": "ref1", "ref2": "ref2", "ref3": "ref3" -} \ No newline at end of file +} diff --git a/test/reference.js b/test/reference.js new file mode 100644 index 00000000..f575ea3f --- /dev/null +++ b/test/reference.js @@ -0,0 +1,33 @@ +var chai = require('chai'); +var path = require('path') + +var config = require('../src/cli').config +config.set({root: __dirname + '/fixtures'}) + +var cmsReference = require('../src/cli').cmsReference; + +var jsonPath = 'test.json'; + +describe('cmsReference', function() { + /** + * cmsReference.reference.getFiles + * + */ + it('cmsReference.reference.getFiles()', function() { + var json = cmsReference.reference.getFiles(); + chai.expect(json).to.be.an('object'); + chai.expect(json[jsonPath].ref1).to.equal('ref1'); + }); + + /** + * cmsReference.reference.saveFile + * + */ + it('cmsReference.reference.saveFile()', function() { + var json = cmsReference.reference.getFiles(); + var ref1 = json[jsonPath]['ref1']; + console.log(json[jsonPath]['ref1']) + cmsReference.reference.saveFile(jsonPath, JSON.stringify(json[jsonPath])); + chai.expect(json[jsonPath]['ref1']).to.equal('ref1'); + }); +});