mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Merge pull request #295 from hbeeken/test-node-index
Adding unit test for nodes/index.js
This commit is contained in:
commit
b50b23318b
@ -14,9 +14,103 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
**/
|
**/
|
||||||
var should = require("should");
|
var should = require("should");
|
||||||
|
var should = require("should");
|
||||||
|
var fs = require('fs-extra');
|
||||||
|
var path = require('path');
|
||||||
|
var when = require("when");
|
||||||
|
var defer = when.defer();
|
||||||
|
var RedNode = require("../../../red/nodes/Node");
|
||||||
|
var index = require("../../../red/nodes/index");
|
||||||
|
var server = require("../../../red/server");
|
||||||
|
|
||||||
|
var testFlows = [{"type":"test","id":"tab1","label":"Sheet 1"}];
|
||||||
|
var storage = {
|
||||||
|
getFlows: function() {
|
||||||
|
var defer = when.defer();
|
||||||
|
defer.resolve(testFlows);
|
||||||
|
return defer.promise;
|
||||||
|
},
|
||||||
|
getCredentials: function() {
|
||||||
|
return when.promise(function(resolve,reject) {
|
||||||
|
resolve({"tab1":{"b":1,"c":2}});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
saveFlows: function(conf) {
|
||||||
|
var defer = when.defer();
|
||||||
|
defer.resolve();
|
||||||
|
should.deepEqual(testFlows, conf);
|
||||||
|
return defer.promise;
|
||||||
|
},
|
||||||
|
saveCredentials: function(creds) {
|
||||||
|
return when(true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
describe("red/nodes/index", function() {
|
describe("red/nodes/index", function() {
|
||||||
it('can be required without errors', function() {
|
it('can be required without errors', function() {
|
||||||
require("../../../red/nodes/index");
|
require("../../../red/nodes/index");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('nodes are initialised with credentials',function(done) {
|
||||||
|
|
||||||
|
function TestNode(n) {
|
||||||
|
index.createNode(this, n);
|
||||||
|
|
||||||
|
this.id = 'tab1';
|
||||||
|
this.type = 'test';
|
||||||
|
this.name = 'barney';
|
||||||
|
var node = this;
|
||||||
|
|
||||||
|
this.on("log", function() {
|
||||||
|
// do nothing
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
index.init({}, storage);
|
||||||
|
index.registerType('test', TestNode);
|
||||||
|
index.loadFlows().then(function() {
|
||||||
|
var testnode = new TestNode({id:'tab1',type:'test',name:'barney'});
|
||||||
|
testnode.credentials.should.have.property('b',1);
|
||||||
|
testnode.credentials.should.have.property('c',2);
|
||||||
|
done();
|
||||||
|
}).otherwise(function(err) {
|
||||||
|
done(err);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
it('flows should be initialised',function(done) {
|
||||||
|
var testFlows = [{"type":"test","id":"tab1","label":"Sheet 1"}];
|
||||||
|
var storage = {
|
||||||
|
getFlows: function() {
|
||||||
|
var defer = when.defer();
|
||||||
|
defer.resolve(testFlows);
|
||||||
|
return defer.promise;
|
||||||
|
},
|
||||||
|
getCredentials: function() {
|
||||||
|
return when.promise(function(resolve,reject) {
|
||||||
|
resolve({"tab1":{"b":1,"c":2}});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
saveFlows: function(conf) {
|
||||||
|
var defer = when.defer();
|
||||||
|
defer.resolve();
|
||||||
|
should.deepEqual(testFlows, conf);
|
||||||
|
return defer.promise;
|
||||||
|
},
|
||||||
|
saveCredentials: function(creds) {
|
||||||
|
return when(true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
index.init({}, storage);
|
||||||
|
index.loadFlows().then(function() {
|
||||||
|
should.deepEqual(testFlows, index.getFlows());
|
||||||
|
done();
|
||||||
|
}).otherwise(function(err) {
|
||||||
|
done(err);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user