mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Merge pull request #2475 from kazuhitoyokoi/master-adduitest
Add UI test case for error handling
This commit is contained in:
commit
3d6170be5e
@ -18,11 +18,16 @@ var idMap = {
|
|||||||
// common
|
// common
|
||||||
"inject": ".red-ui-palette-node[data-palette-type='inject']",
|
"inject": ".red-ui-palette-node[data-palette-type='inject']",
|
||||||
"debug": ".red-ui-palette-node[data-palette-type='debug']",
|
"debug": ".red-ui-palette-node[data-palette-type='debug']",
|
||||||
|
"complete": ".red-ui-palette-node[data-palette-type='complete']",
|
||||||
|
"catch": ".red-ui-palette-node[data-palette-type='catch']",
|
||||||
|
"status": ".red-ui-palette-node[data-palette-type='status']",
|
||||||
|
"comment": ".red-ui-palette-node[data-palette-type='comment']",
|
||||||
// function
|
// function
|
||||||
"function": ".red-ui-palette-node[data-palette-type='function']",
|
"function": ".red-ui-palette-node[data-palette-type='function']",
|
||||||
"change": ".red-ui-palette-node[data-palette-type='change']",
|
"change": ".red-ui-palette-node[data-palette-type='change']",
|
||||||
"range": ".red-ui-palette-node[data-palette-type='range']",
|
"range": ".red-ui-palette-node[data-palette-type='range']",
|
||||||
"template": ".red-ui-palette-node[data-palette-type='template']",
|
"template": ".red-ui-palette-node[data-palette-type='template']",
|
||||||
|
"delay": ".red-ui-palette-node[data-palette-type='delay']",
|
||||||
// network
|
// network
|
||||||
"mqttIn": ".red-ui-palette-node[data-palette-type='mqtt in']",
|
"mqttIn": ".red-ui-palette-node[data-palette-type='mqtt in']",
|
||||||
"mqttOut": ".red-ui-palette-node[data-palette-type='mqtt out']",
|
"mqttOut": ".red-ui-palette-node[data-palette-type='mqtt out']",
|
||||||
@ -30,8 +35,9 @@ var idMap = {
|
|||||||
"httpResponse": ".red-ui-palette-node[data-palette-type='http response']",
|
"httpResponse": ".red-ui-palette-node[data-palette-type='http response']",
|
||||||
"httpRequest": ".red-ui-palette-node[data-palette-type='http request']",
|
"httpRequest": ".red-ui-palette-node[data-palette-type='http request']",
|
||||||
// sequence
|
// sequence
|
||||||
"join": ".red-ui-palette-node[data-palette-type='join']",
|
|
||||||
"split": ".red-ui-palette-node[data-palette-type='split']",
|
"split": ".red-ui-palette-node[data-palette-type='split']",
|
||||||
|
"join": ".red-ui-palette-node[data-palette-type='join']",
|
||||||
|
"batch": ".red-ui-palette-node[data-palette-type='batch']",
|
||||||
// parser
|
// parser
|
||||||
"csv": ".red-ui-palette-node[data-palette-type='csv']",
|
"csv": ".red-ui-palette-node[data-palette-type='csv']",
|
||||||
"html": ".red-ui-palette-node[data-palette-type='html']",
|
"html": ".red-ui-palette-node[data-palette-type='html']",
|
||||||
|
@ -33,6 +33,8 @@ debugNode.prototype.setOutput = function (complete) {
|
|||||||
// Select the "msg" type.
|
// Select the "msg" type.
|
||||||
browser.clickWithWait('//div[contains(@class, "red-ui-typedInput-options")][1]/a[1]');
|
browser.clickWithWait('//div[contains(@class, "red-ui-typedInput-options")][1]/a[1]');
|
||||||
// Input the path in msg.
|
// Input the path in msg.
|
||||||
|
browser.clickWithWait('//*[contains(@class, "red-ui-typedInput-input")]/input');
|
||||||
|
browser.keys(Array('payload'.length).fill('Backspace'));
|
||||||
browser.setValue('//*[contains(@class, "red-ui-typedInput-input")]/input', complete);
|
browser.setValue('//*[contains(@class, "red-ui-typedInput-input")]/input', complete);
|
||||||
} else {
|
} else {
|
||||||
// Select the "complete msg object" type.
|
// Select the "complete msg object" type.
|
||||||
|
@ -0,0 +1,47 @@
|
|||||||
|
/**
|
||||||
|
* Copyright JS Foundation and other contributors, http://js.foundation
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
**/
|
||||||
|
|
||||||
|
var util = require('util');
|
||||||
|
|
||||||
|
var nodePage = require('../../node_page');
|
||||||
|
|
||||||
|
function completeNode(id) {
|
||||||
|
nodePage.call(this, id);
|
||||||
|
}
|
||||||
|
|
||||||
|
util.inherits(completeNode, nodePage);
|
||||||
|
|
||||||
|
completeNode.prototype.setScope = function (scope) {
|
||||||
|
if (scope) {
|
||||||
|
browser.clickWithWait('//*[@id="node-input-complete-target-select"]');
|
||||||
|
browser.pause(1000);
|
||||||
|
if (Array.isArray(scope)) {
|
||||||
|
for (var i = 0; i < scope.length; i++) {
|
||||||
|
browser.moveToObject(scope[i].id);
|
||||||
|
browser.buttonDown();
|
||||||
|
browser.buttonUp();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
browser.moveToObject(scope.id);
|
||||||
|
browser.buttonDown();
|
||||||
|
browser.buttonUp();
|
||||||
|
}
|
||||||
|
browser.clickWithWait('//*[contains(@class, "red-ui-notification")]/div/button[2]');
|
||||||
|
browser.pause(1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = completeNode;
|
48
test/editor/pageobjects/nodes/core/common/25-catch_page.js
Normal file
48
test/editor/pageobjects/nodes/core/common/25-catch_page.js
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
/**
|
||||||
|
* Copyright JS Foundation and other contributors, http://js.foundation
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
**/
|
||||||
|
|
||||||
|
var util = require('util');
|
||||||
|
|
||||||
|
var nodePage = require('../../node_page');
|
||||||
|
|
||||||
|
function catchNode(id) {
|
||||||
|
nodePage.call(this, id);
|
||||||
|
}
|
||||||
|
|
||||||
|
util.inherits(catchNode, nodePage);
|
||||||
|
|
||||||
|
catchNode.prototype.setScope = function (scope) {
|
||||||
|
if (scope) {
|
||||||
|
browser.selectWithWait('#node-input-scope-select', 'target');
|
||||||
|
browser.clickWithWait('//*[@id="node-input-catch-target-select"]');
|
||||||
|
browser.pause(1000);
|
||||||
|
if (Array.isArray(scope)) {
|
||||||
|
for (var i = 0; i < scope.length; i++) {
|
||||||
|
browser.moveToObject(scope[i].id);
|
||||||
|
browser.buttonDown();
|
||||||
|
browser.buttonUp();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
browser.moveToObject(scope.id);
|
||||||
|
browser.buttonDown();
|
||||||
|
browser.buttonUp();
|
||||||
|
}
|
||||||
|
browser.clickWithWait('//*[contains(@class, "red-ui-notification")]/div/button[2]');
|
||||||
|
browser.pause(1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = catchNode;
|
48
test/editor/pageobjects/nodes/core/common/25-status_page.js
Normal file
48
test/editor/pageobjects/nodes/core/common/25-status_page.js
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
/**
|
||||||
|
* Copyright JS Foundation and other contributors, http://js.foundation
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
**/
|
||||||
|
|
||||||
|
var util = require('util');
|
||||||
|
|
||||||
|
var nodePage = require('../../node_page');
|
||||||
|
|
||||||
|
function statusNode(id) {
|
||||||
|
nodePage.call(this, id);
|
||||||
|
}
|
||||||
|
|
||||||
|
util.inherits(statusNode, nodePage);
|
||||||
|
|
||||||
|
statusNode.prototype.setScope = function (scope) {
|
||||||
|
if (scope) {
|
||||||
|
browser.selectWithWait('#node-input-scope-select', 'target');
|
||||||
|
browser.clickWithWait('//*[@id="node-input-status-target-select"]');
|
||||||
|
browser.pause(1000);
|
||||||
|
if (Array.isArray(scope)) {
|
||||||
|
for (var i = 0; i < scope.length; i++) {
|
||||||
|
browser.moveToObject(scope[i].id);
|
||||||
|
browser.buttonDown();
|
||||||
|
browser.buttonUp();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
browser.moveToObject(scope.id);
|
||||||
|
browser.buttonDown();
|
||||||
|
browser.buttonUp();
|
||||||
|
}
|
||||||
|
browser.clickWithWait('//*[contains(@class, "red-ui-notification")]/div/button[2]');
|
||||||
|
browser.pause(1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = statusNode;
|
27
test/editor/pageobjects/nodes/core/common/90-comment_page.js
Normal file
27
test/editor/pageobjects/nodes/core/common/90-comment_page.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* Copyright JS Foundation and other contributors, http://js.foundation
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
**/
|
||||||
|
|
||||||
|
var util = require('util');
|
||||||
|
|
||||||
|
var nodePage = require('../../node_page');
|
||||||
|
|
||||||
|
function commentNode(id) {
|
||||||
|
nodePage.call(this, id);
|
||||||
|
}
|
||||||
|
|
||||||
|
util.inherits(commentNode, nodePage);
|
||||||
|
|
||||||
|
module.exports = commentNode;
|
33
test/editor/pageobjects/nodes/core/function/89-delay_page.js
Normal file
33
test/editor/pageobjects/nodes/core/function/89-delay_page.js
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/**
|
||||||
|
* Copyright JS Foundation and other contributors, http://js.foundation
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
**/
|
||||||
|
|
||||||
|
var util = require("util");
|
||||||
|
|
||||||
|
var nodePage = require("../../node_page");
|
||||||
|
|
||||||
|
var keyPage = require("../../../util/key_page");
|
||||||
|
|
||||||
|
function delayNode(id) {
|
||||||
|
nodePage.call(this, id);
|
||||||
|
}
|
||||||
|
|
||||||
|
util.inherits(delayNode, nodePage);
|
||||||
|
|
||||||
|
delayNode.prototype.setTimeout = function (timeout) {
|
||||||
|
browser.setValue('//*[@id="node-input-timeout"]', timeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = delayNode;
|
@ -18,13 +18,13 @@ var util = require('util');
|
|||||||
|
|
||||||
var nodePage = require('../../node_page');
|
var nodePage = require('../../node_page');
|
||||||
|
|
||||||
function joinNode(id) {
|
function splitNode(id) {
|
||||||
nodePage.call(this, id);
|
nodePage.call(this, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
util.inherits(joinNode, nodePage);
|
util.inherits(splitNode, nodePage);
|
||||||
|
|
||||||
module.exports = joinNode;
|
module.exports = splitNode;
|
||||||
|
|
||||||
function joinNode(id) {
|
function joinNode(id) {
|
||||||
nodePage.call(this, id);
|
nodePage.call(this, id);
|
||||||
|
39
test/editor/pageobjects/nodes/core/sequence/19-batch_page.js
Normal file
39
test/editor/pageobjects/nodes/core/sequence/19-batch_page.js
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
/**
|
||||||
|
* Copyright JS Foundation and other contributors, http://js.foundation
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
**/
|
||||||
|
|
||||||
|
var util = require('util');
|
||||||
|
|
||||||
|
var nodePage = require('../../node_page');
|
||||||
|
|
||||||
|
function batchNode(id) {
|
||||||
|
nodePage.call(this, id);
|
||||||
|
}
|
||||||
|
|
||||||
|
batchNode.prototype.setMode = function (mode) {
|
||||||
|
browser.selectWithWait('#node-input-mode', mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
batchNode.prototype.setCount = function (count) {
|
||||||
|
browser.setValue('#node-input-count', count);
|
||||||
|
}
|
||||||
|
|
||||||
|
batchNode.prototype.setOverlap = function (overlap) {
|
||||||
|
browser.setValue('#node-input-overlap', overlap);
|
||||||
|
}
|
||||||
|
|
||||||
|
util.inherits(batchNode, nodePage);
|
||||||
|
|
||||||
|
module.exports = batchNode;
|
@ -16,10 +16,15 @@
|
|||||||
|
|
||||||
var injectNode = require('./core/common/20-inject_page');
|
var injectNode = require('./core/common/20-inject_page');
|
||||||
var debugNode = require('./core/common/21-debug_page');
|
var debugNode = require('./core/common/21-debug_page');
|
||||||
|
var completeNode = require('./core/common/24-complete_page');
|
||||||
|
var catchNode = require('./core/common/25-catch_page');
|
||||||
|
var statusNode = require('./core/common/25-status_page');
|
||||||
|
var commentNode = require('./core/common/90-comment_page');
|
||||||
var functionNode = require('./core/function/10-function_page');
|
var functionNode = require('./core/function/10-function_page');
|
||||||
var changeNode = require('./core/function/15-change_page');
|
var changeNode = require('./core/function/15-change_page');
|
||||||
var rangeNode = require('./core/function/16-range_page');
|
var rangeNode = require('./core/function/16-range_page');
|
||||||
var templateNode = require('./core/function/80-template_page');
|
var templateNode = require('./core/function/80-template_page');
|
||||||
|
var delayNode = require('./core/function/89-delay_page');
|
||||||
var mqttInNode = require('./core/network/10-mqttin_page');
|
var mqttInNode = require('./core/network/10-mqttin_page');
|
||||||
var mqttOutNode = require('./core/network/10-mqttout_page');
|
var mqttOutNode = require('./core/network/10-mqttout_page');
|
||||||
var httpInNode = require('./core/network/21-httpin_page');
|
var httpInNode = require('./core/network/21-httpin_page');
|
||||||
@ -27,6 +32,7 @@ var httpResponseNode = require('./core/network/21-httpresponse_page');
|
|||||||
var httpRequestNode = require('./core/network/21-httprequest_page');
|
var httpRequestNode = require('./core/network/21-httprequest_page');
|
||||||
var splitNode = require('./core/sequence/17-split_page');
|
var splitNode = require('./core/sequence/17-split_page');
|
||||||
var joinNode = require('./core/sequence/17-split_page');
|
var joinNode = require('./core/sequence/17-split_page');
|
||||||
|
var batchNode = require('./core/sequence/19-batch_page');
|
||||||
var csvNode = require('./core/parsers/70-CSV_page');
|
var csvNode = require('./core/parsers/70-CSV_page');
|
||||||
var htmlNode = require('./core/parsers/70-HTML_page');
|
var htmlNode = require('./core/parsers/70-HTML_page');
|
||||||
var jsonNode = require('./core/parsers/70-JSON_page');
|
var jsonNode = require('./core/parsers/70-JSON_page');
|
||||||
@ -38,11 +44,16 @@ var nodeCatalog = {
|
|||||||
// common
|
// common
|
||||||
"inject": injectNode,
|
"inject": injectNode,
|
||||||
"debug": debugNode,
|
"debug": debugNode,
|
||||||
|
"complete": completeNode,
|
||||||
|
"catch": catchNode,
|
||||||
|
"status": statusNode,
|
||||||
|
"comment": commentNode,
|
||||||
// function
|
// function
|
||||||
"function": functionNode,
|
"function": functionNode,
|
||||||
"change": changeNode,
|
"change": changeNode,
|
||||||
"range": rangeNode,
|
"range": rangeNode,
|
||||||
"template": templateNode,
|
"template": templateNode,
|
||||||
|
"delay": delayNode,
|
||||||
// network
|
// network
|
||||||
"mqttIn": mqttInNode,
|
"mqttIn": mqttInNode,
|
||||||
"mqttOut": mqttOutNode,
|
"mqttOut": mqttOutNode,
|
||||||
@ -52,6 +63,7 @@ var nodeCatalog = {
|
|||||||
// sequence
|
// sequence
|
||||||
"split": splitNode,
|
"split": splitNode,
|
||||||
"join": joinNode,
|
"join": joinNode,
|
||||||
|
"batch": batchNode,
|
||||||
// parser
|
// parser
|
||||||
"csv": csvNode,
|
"csv": csvNode,
|
||||||
"html": htmlNode,
|
"html": htmlNode,
|
||||||
|
74
test/editor/specs/scenario/cookbook_errorhandling_uispec.js
Normal file
74
test/editor/specs/scenario/cookbook_errorhandling_uispec.js
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
/**
|
||||||
|
* Copyright JS Foundation and other contributors, http://js.foundation
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
**/
|
||||||
|
|
||||||
|
var when = require('when');
|
||||||
|
var should = require('should');
|
||||||
|
var fs = require('fs-extra');
|
||||||
|
|
||||||
|
var helper = require('../../editor_helper');
|
||||||
|
var debugTab = require('../../pageobjects/editor/debugTab_page');
|
||||||
|
var workspace = require('../../pageobjects/editor/workspace_page');
|
||||||
|
var specUtil = require('../../pageobjects/util/spec_util_page');
|
||||||
|
|
||||||
|
var httpNodeRoot = '/api';
|
||||||
|
|
||||||
|
// https://cookbook.nodered.org/
|
||||||
|
describe('cookbook', function () {
|
||||||
|
beforeEach(function () {
|
||||||
|
workspace.init();
|
||||||
|
});
|
||||||
|
|
||||||
|
before(function () {
|
||||||
|
helper.startServer();
|
||||||
|
});
|
||||||
|
|
||||||
|
after(function () {
|
||||||
|
helper.stopServer();
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('messages', function () {
|
||||||
|
it('trigger a flow when a node throws an error', function () {
|
||||||
|
var injectNode = workspace.addNode('inject');
|
||||||
|
var functionNode = workspace.addNode('function');
|
||||||
|
var catchNode = workspace.addNode('catch', 0 , 80);
|
||||||
|
var debugNode = workspace.addNode('debug');
|
||||||
|
|
||||||
|
functionNode.edit();
|
||||||
|
functionNode.setFunction('node.error("an example error", msg);');
|
||||||
|
functionNode.clickOk();
|
||||||
|
|
||||||
|
catchNode.edit();
|
||||||
|
catchNode.setScope(functionNode);
|
||||||
|
catchNode.clickOk();
|
||||||
|
|
||||||
|
debugNode.edit();
|
||||||
|
debugNode.setOutput('error');
|
||||||
|
debugNode.clickOk();
|
||||||
|
|
||||||
|
injectNode.connect(functionNode);
|
||||||
|
catchNode.connect(debugNode);
|
||||||
|
|
||||||
|
workspace.deploy();
|
||||||
|
|
||||||
|
debugTab.open();
|
||||||
|
injectNode.clickLeftButton();
|
||||||
|
debugTab.getMessage().should.eql(['"an example error"', 'function']);
|
||||||
|
});
|
||||||
|
|
||||||
|
// skip this case since the flow outputs random results.
|
||||||
|
it.skip('automatically retry an action after an error');
|
||||||
|
});
|
||||||
|
});
|
@ -190,7 +190,7 @@ describe('cookbook', function () {
|
|||||||
httpRequestNode.clickOk();
|
httpRequestNode.clickOk();
|
||||||
|
|
||||||
debugNode.edit();
|
debugNode.edit();
|
||||||
debugNode.setOutput('.title');
|
debugNode.setOutput('payload.title');
|
||||||
debugNode.clickOk();
|
debugNode.clickOk();
|
||||||
|
|
||||||
injectNode.connect(changeNodeSetPost);
|
injectNode.connect(changeNodeSetPost);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user