mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Add UI test cases for data formats
This commit is contained in:
@@ -15,22 +15,29 @@
|
||||
**/
|
||||
|
||||
var idMap = {
|
||||
// input
|
||||
// common
|
||||
"inject": ".red-ui-palette-node[data-palette-type='inject']",
|
||||
"httpIn": ".red-ui-palette-node[data-palette-type='http in']",
|
||||
"mqttIn": ".red-ui-palette-node[data-palette-type='mqtt in']",
|
||||
// output
|
||||
"debug": ".red-ui-palette-node[data-palette-type='debug']",
|
||||
"httpResponse": ".red-ui-palette-node[data-palette-type='http response']",
|
||||
"mqttOut": ".red-ui-palette-node[data-palette-type='mqtt out']",
|
||||
// function
|
||||
"function": ".red-ui-palette-node[data-palette-type='function']",
|
||||
"template": ".red-ui-palette-node[data-palette-type='template']",
|
||||
"change": ".red-ui-palette-node[data-palette-type='change']",
|
||||
"range": ".red-ui-palette-node[data-palette-type='range']",
|
||||
"template": ".red-ui-palette-node[data-palette-type='template']",
|
||||
// network
|
||||
"mqttIn": ".red-ui-palette-node[data-palette-type='mqtt in']",
|
||||
"mqttOut": ".red-ui-palette-node[data-palette-type='mqtt out']",
|
||||
"httpIn": ".red-ui-palette-node[data-palette-type='http in']",
|
||||
"httpResponse": ".red-ui-palette-node[data-palette-type='http response']",
|
||||
"httpRequest": ".red-ui-palette-node[data-palette-type='http request']",
|
||||
// sequence
|
||||
"join": ".red-ui-palette-node[data-palette-type='join']",
|
||||
"split": ".red-ui-palette-node[data-palette-type='split']",
|
||||
// parser
|
||||
"csv": ".red-ui-palette-node[data-palette-type='csv']",
|
||||
"html": ".red-ui-palette-node[data-palette-type='html']",
|
||||
"json": ".red-ui-palette-node[data-palette-type='json']",
|
||||
"xml": ".red-ui-palette-node[data-palette-type='xml']",
|
||||
"yaml": ".red-ui-palette-node[data-palette-type='yaml']",
|
||||
// storage
|
||||
"fileIn": ".red-ui-palette-node[data-palette-type='file in']",
|
||||
};
|
||||
|
51
test/editor/pageobjects/nodes/core/parsers/70-CSV_page.js
Normal file
51
test/editor/pageobjects/nodes/core/parsers/70-CSV_page.js
Normal file
@@ -0,0 +1,51 @@
|
||||
/**
|
||||
* 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 csvNode(id) {
|
||||
nodePage.call(this, id);
|
||||
}
|
||||
|
||||
util.inherits(csvNode, nodePage);
|
||||
|
||||
csvNode.prototype.setColumns = function (columns) {
|
||||
browser.setValue('#node-input-temp', columns);
|
||||
}
|
||||
|
||||
csvNode.prototype.setSkipLines = function (skip) {
|
||||
browser.setValue('#node-input-skip', skip);
|
||||
}
|
||||
|
||||
csvNode.prototype.setFirstRow4Names = function (checkbox) {
|
||||
if (browser.isSelected('#node-input-hdrin') !== checkbox) {
|
||||
browser.click('#node-input-hdrin');
|
||||
}
|
||||
}
|
||||
|
||||
csvNode.prototype.setOutput = function (output) {
|
||||
browser.selectWithWait('#node-input-multi', output);
|
||||
}
|
||||
|
||||
csvNode.prototype.setIncludeRow = function (checkbox) {
|
||||
if (browser.isSelected('#node-input-hdrout') !== checkbox) {
|
||||
browser.click('#node-input-hdrout');
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = csvNode;
|
@@ -14,9 +14,9 @@
|
||||
* limitations under the License.
|
||||
**/
|
||||
|
||||
var util = require("util");
|
||||
var util = require('util');
|
||||
|
||||
var nodePage = require("../../node_page");
|
||||
var nodePage = require('../../node_page');
|
||||
|
||||
function htmlNode(id) {
|
||||
nodePage.call(this, id);
|
||||
@@ -24,7 +24,7 @@ function htmlNode(id) {
|
||||
|
||||
util.inherits(htmlNode, nodePage);
|
||||
|
||||
htmlNode.prototype.setSelector = function(tag) {
|
||||
htmlNode.prototype.setSelector = function (tag) {
|
||||
browser.setValue('#node-input-tag', tag);
|
||||
}
|
||||
|
||||
|
35
test/editor/pageobjects/nodes/core/parsers/70-XML_page.js
Normal file
35
test/editor/pageobjects/nodes/core/parsers/70-XML_page.js
Normal file
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* 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 xmlNode(id) {
|
||||
nodePage.call(this, id);
|
||||
}
|
||||
|
||||
util.inherits(xmlNode, nodePage);
|
||||
|
||||
xmlNode.prototype.setAction = function (action) {
|
||||
browser.setValue('node-input-action', action);
|
||||
}
|
||||
|
||||
xmlNode.prototype.setProperty = function (property) {
|
||||
browser.setValue('//*[@id="dialog-form"]/div[3]/div/div[1]/input', property);
|
||||
}
|
||||
|
||||
module.exports = xmlNode;
|
35
test/editor/pageobjects/nodes/core/parsers/70-YAML_page.js
Normal file
35
test/editor/pageobjects/nodes/core/parsers/70-YAML_page.js
Normal file
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* 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 yamlNode(id) {
|
||||
nodePage.call(this, id);
|
||||
}
|
||||
|
||||
util.inherits(yamlNode, nodePage);
|
||||
|
||||
yamlNode.prototype.setAction = function (action) {
|
||||
browser.setValue('node-input-action', action);
|
||||
}
|
||||
|
||||
yamlNode.prototype.setProperty = function (property) {
|
||||
browser.setValue('//*[@id="dialog-form"]/div[3]/div/div[1]/input', property);
|
||||
}
|
||||
|
||||
module.exports = yamlNode;
|
27
test/editor/pageobjects/nodes/core/sequence/17-join_page.js
Normal file
27
test/editor/pageobjects/nodes/core/sequence/17-join_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 joinNode(id) {
|
||||
nodePage.call(this, id);
|
||||
}
|
||||
|
||||
util.inherits(joinNode, nodePage);
|
||||
|
||||
module.exports = joinNode;
|
27
test/editor/pageobjects/nodes/core/sequence/17-split_page.js
Normal file
27
test/editor/pageobjects/nodes/core/sequence/17-split_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 joinNode(id) {
|
||||
nodePage.call(this, id);
|
||||
}
|
||||
|
||||
util.inherits(joinNode, nodePage);
|
||||
|
||||
module.exports = joinNode;
|
@@ -25,8 +25,13 @@ var mqttOutNode = require('./core/network/10-mqttout_page');
|
||||
var httpInNode = require('./core/network/21-httpin_page');
|
||||
var httpResponseNode = require('./core/network/21-httpresponse_page');
|
||||
var httpRequestNode = require('./core/network/21-httprequest_page');
|
||||
var splitNode = require('./core/sequence/17-split_page');
|
||||
var joinNode = require('./core/sequence/17-join_page');
|
||||
var csvNode = require('./core/parsers/70-CSV_page');
|
||||
var htmlNode = require('./core/parsers/70-HTML_page');
|
||||
var jsonNode = require('./core/parsers/70-JSON_page');
|
||||
var xmlNode = require('./core/parsers/70-XML_page');
|
||||
var yamlNode = require('./core/parsers/70-YAML_page');
|
||||
var fileInNode = require('./core/storage/10-filein_page');
|
||||
|
||||
var nodeCatalog = {
|
||||
@@ -44,9 +49,15 @@ var nodeCatalog = {
|
||||
"httpIn": httpInNode,
|
||||
"httpResponse": httpResponseNode,
|
||||
"httpRequest": httpRequestNode,
|
||||
// sequence
|
||||
"split": splitNode,
|
||||
"join": joinNode,
|
||||
// parser
|
||||
"csv": csvNode,
|
||||
"html": htmlNode,
|
||||
"json": jsonNode,
|
||||
"xml": xmlNode,
|
||||
"yaml": yamlNode,
|
||||
// storage
|
||||
"fileIn": fileInNode
|
||||
};
|
||||
|
Reference in New Issue
Block a user