mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Add tests for build check
This commit is contained in:
		| @@ -1,5 +1,5 @@ | ||||
| /** | ||||
|  * Copyright 2014 IBM Corp. | ||||
|  * Copyright 2014, 2015 IBM Corp. | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
| @@ -14,33 +14,58 @@ | ||||
|  * limitations under the License. | ||||
|  **/ | ||||
| var should = require("should"); | ||||
| var sinon = require("sinon"); | ||||
| var fs = require("fs"); | ||||
| var path = require("path"); | ||||
|  | ||||
| var RED = require("../../red/red"); | ||||
| var log = require("../../red/log"); | ||||
| var settings = require("../../red/settings"); | ||||
| var server = require("../../red/server"); | ||||
|  | ||||
|  | ||||
| describe("red/red", function() { | ||||
|     it('can be required without errors', function() { | ||||
|         require("../../red/red"); | ||||
|  | ||||
|     describe("check build", function() { | ||||
|         beforeEach(function() { | ||||
|             sinon.stub(log,"init",function() {}); | ||||
|             sinon.stub(settings,"init",function() {}); | ||||
|             sinon.stub(server,"init",function() {}); | ||||
|             sinon.stub(RED,"version",function() { return "version";}); | ||||
|         }); | ||||
|         afterEach(function() { | ||||
|             log.init.restore(); | ||||
|             settings.init.restore(); | ||||
|             server.init.restore(); | ||||
|             fs.statSync.restore(); | ||||
|             RED.version.restore(); | ||||
|         }); | ||||
|         it('warns if build has not been run',function() { | ||||
|             sinon.stub(fs,"statSync",function() { throw new Error();}); | ||||
|              | ||||
|             /*jshint immed: false */ | ||||
|             (function() { | ||||
|                 RED.init({},{}); | ||||
|             }).should.throw("Node-RED not built"); | ||||
|         }); | ||||
|         it('passed if build has been run',function() { | ||||
|             sinon.stub(fs,"statSync",function() { }); | ||||
|             RED.init({},{}); | ||||
|         }); | ||||
|     }); | ||||
|  | ||||
|     var RED = require("../../red/red"); | ||||
|  | ||||
|     it('returns an app object', function() { | ||||
|         var srv = RED.app.use("/test", function() { return "app"; }); | ||||
|         srv.should.be.an.instanceOf(Object); | ||||
|     }); | ||||
|  | ||||
|     it('returns an httpAdmin object', function() { | ||||
|         var srv = RED.httpAdmin.use("/test", function() { return "Admin"; }); | ||||
|         srv.should.be.an.instanceOf(Object); | ||||
|     }); | ||||
|  | ||||
|     it('returns an httpNode object', function() { | ||||
|         var srv = RED.httpNode.use("/test", function() { return "Node"; }); | ||||
|         srv.should.be.an.instanceOf(Object); | ||||
|     }); | ||||
|  | ||||
|     it('it returns a server object', function() { | ||||
|         var srv = RED.server; | ||||
|         srv.should.be.an.instanceOf(Object).and.have.property('domain', null); | ||||
|         //srv.should.be.an.instanceOf(Object).and.have.property('timeout', 120000); | ||||
|      | ||||
|     describe("externals", function() { | ||||
|         it('reports version', function() { | ||||
|             var p = require(path.join(process.env.NODE_RED_HOME,"package.json")).version; | ||||
|             RED.version().indexOf(p).should.eql(0); | ||||
|         }); | ||||
|         it('access server externals', function() { | ||||
|             // TODO: unstubable accessors - need to make this testable | ||||
|             RED.app; | ||||
|             RED.httpAdmin; | ||||
|             RED.httpNode; | ||||
|             RED.server; | ||||
|         }); | ||||
|     }); | ||||
|  | ||||
| }); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user