UNPKG

node-red-nodegen

Version:

Node generator for Node-RED

75 lines (73 loc) 2.97 kB
const fs = require('fs'); const path = require('path'); const should = require('should'); const del = require('del'); const subflow2node = require('../../lib/subflow'); describe('subflow node', function () { it('should have node files', function (done) { var options = {}; var data = { dst: '.' }; data.src = JSON.parse(fs.readFileSync('samples/qrcode.json')); subflow2node(data, options).then(function (result) { try { var packageSourceCode = JSON.parse(fs.readFileSync(result + '/package.json')); packageSourceCode.name.should.equal('node-red-contrib-qrcode'); packageSourceCode.version.should.equal('0.1.0'); fs.statSync(result + '/subflow.json').size.should.be.above(0); fs.statSync(result + '/subflow.js').size.should.be.above(0); fs.statSync(result + '/README.md').size.should.be.above(0); fs.statSync(result + '/LICENSE').size.should.be.above(0); del.sync(result); done(); } catch (e) { done(e); } }); }); it('should handle encoding option', function (done) { var options = { encoding: "AES", encodekey: "Node-RED" }; var data = { dst: '.' }; data.src = JSON.parse(fs.readFileSync('samples/qrcode.json')); subflow2node(data, options).then(function (result) { try { var packageSourceCode = JSON.parse(fs.readFileSync(result + '/package.json')); packageSourceCode.name.should.equal('node-red-contrib-qrcode'); packageSourceCode.version.should.equal('0.1.0'); fs.statSync(result + '/subflow.json').size.should.be.above(0); fs.statSync(result + '/subflow.js').size.should.be.above(0); fs.statSync(result + '/README.md').size.should.be.above(0); fs.statSync(result + '/LICENSE').size.should.be.above(0); var sf = JSON.parse(fs.readFileSync(result + "/subflow.json")); sf.should.have.property("flow"); sf.flow.should.have.property("encoding", "AES"); del.sync(result); done(); } catch (e) { done(e); } }); }); it('should create tgz', function (done) { var options = { tgz: true }; var data = { dst: '.' }; data.src = JSON.parse(fs.readFileSync('samples/qrcode.json')); subflow2node(data, options).then(function (result) { try { fs.statSync(result).isFile().should.be.eql(true); del.sync(result); del.sync("./node-red-contrib-qrcode"); done(); } catch (e) { done(e); } }); }); });