node-red-node-test-helper
Advanced tools
Comparing version 0.2.6 to 0.2.7
@@ -0,1 +1,10 @@ | ||
#### 0.2.7 | ||
- Wait for startFlows to resolve before returning from loadFlow call - required with Node-RED 1.3+ | ||
- README.md: Update example unit test to report assertion failures | ||
- examples: lower-case_spec.js: Allow proper assertion failure reporting (#45) | ||
#### 0.2.6 | ||
- Optionally preload catch/status/complete nodes in test cases Fixes #48 | ||
#### 0.2.5 | ||
@@ -2,0 +11,0 @@ |
@@ -16,4 +16,8 @@ var helper = require("../index.js"); | ||
var n1 = helper.getNode("n1"); | ||
n1.should.have.property('name', 'lower-case'); | ||
done(); | ||
try { | ||
n1.should.have.property('name', 'lower-case'); | ||
done(); | ||
} catch(err) { | ||
done(err); | ||
} | ||
}); | ||
@@ -26,4 +30,8 @@ }); | ||
var n1 = helper.getNode("3912a37a.c3818c"); | ||
n1.should.have.property('name', 'lower-case'); | ||
done(); | ||
try { | ||
n1.should.have.property('name', 'lower-case'); | ||
done(); | ||
} catch(err) { | ||
done(err); | ||
} | ||
}); | ||
@@ -41,4 +49,8 @@ }); | ||
n2.on("input", function (msg) { | ||
msg.should.have.property('payload', 'uppercase'); | ||
done(); | ||
try { | ||
msg.should.have.property('payload', 'uppercase'); | ||
done(); | ||
} catch(err) { | ||
done(err); | ||
} | ||
}); | ||
@@ -45,0 +57,0 @@ n1.receive({ payload: "UpperCase" }); |
@@ -275,4 +275,3 @@ /** | ||
return redNodes.loadFlows() | ||
.then(() => { | ||
redNodes.startFlows(); | ||
.then(redNodes.startFlows).then(() => { | ||
should.deepEqual(testFlow, redNodes.getFlows().flows); | ||
@@ -279,0 +278,0 @@ if(cb) cb(); |
{ | ||
"name": "node-red-node-test-helper", | ||
"version": "0.2.6", | ||
"version": "0.2.7", | ||
"description": "A test framework for Node-RED nodes", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -76,4 +76,8 @@ # Node Test Helper | ||
var n1 = helper.getNode("n1"); | ||
n1.should.have.property('name', 'lower-case'); | ||
done(); | ||
try { | ||
n1.should.have.property('name', 'lower-case'); | ||
done(); | ||
} catch(err) { | ||
done(err); | ||
} | ||
}); | ||
@@ -91,4 +95,8 @@ }); | ||
n2.on("input", function (msg) { | ||
msg.should.have.property('payload', 'uppercase'); | ||
done(); | ||
try { | ||
msg.should.have.property('payload', 'uppercase'); | ||
done(); | ||
} catch(err) { | ||
done(err); | ||
} | ||
}); | ||
@@ -105,5 +113,7 @@ n1.receive({ payload: "UpperCase" }); | ||
Note how the assertion failures are caught explicitly and passed to the `done()` call. Node-RED swallows exceptions that are raised in the flow, so we make sure the test framework is aware of them. Not doing so would simply lead to a test timeout because `done()` is never called in case of an assertion failure. | ||
## Initializing Helper | ||
To get started, we need to tell the helper where to find the node-red runtime. this is done by calling `helper.init(require.resolve('node-red'))` as shown. | ||
To get started, we need to tell the helper where to find the node-red runtime. This is done by calling `helper.init(require.resolve('node-red'))` as shown. | ||
@@ -110,0 +120,0 @@ The helper takes an optional `userSettings` parameter which is merged with the runtime defaults. |
79160
1281
397