UNPKG

connect-platform-test

Version:

A platform to build backened code mostly in a visual manner.

63 lines (50 loc) 1.32 kB
const assert = require('assert'); const base = require('../base'); const callable = require('../callable'); const { InputMissing } = require('../errors'); describe('callable()', ()=> { it('should return a callable that runs the given node.', done => { class N extends base.node.Node { constructor(){ super({ inputs: ['a'], outputs: ['res'], }); } run(inputs, output){ output('res', inputs.a + 5); } }; let f = callable(N); f({a: 4}).then(result => { assert.equal(result.output, 'res'); assert.equal(result.data, 9); done(); }); }); it('should also handle control output of the node.', done => { class N2 extends base.node.Node { constructor(){ super({controlOutputs: ['c']}); } run(i, o, control) { control('c'); } }; let f = callable(N2); f().then(result => { assert.equal(result.control, 'c'); done(); }); }); it('should throw proper error if required input not provided.', done => { class N extends base.node.Node { constructor(){super({inputs: ['a', 'b']});} } let f = callable(N); f({b: 'hellow'}).catch(error => { assert(error instanceof InputMissing); done(); }); }); });