mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-01-12 07:12:54 +01:00
Initial commit
Co-Authored-By: Eric Tuvesson <eric.tuvesson@gmail.com> Co-Authored-By: mikaeltellhed <2311083+mikaeltellhed@users.noreply.github.com> Co-Authored-By: kotte <14197736+mrtamagotchi@users.noreply.github.com> Co-Authored-By: Anders Larsson <64838990+anders-topp@users.noreply.github.com> Co-Authored-By: Johan <4934465+joolsus@users.noreply.github.com> Co-Authored-By: Tore Knudsen <18231882+torekndsn@users.noreply.github.com> Co-Authored-By: victoratndl <99176179+victoratndl@users.noreply.github.com>
This commit is contained in:
89
packages/noodl-editor/tests/components/dynamicports.js
Normal file
89
packages/noodl-editor/tests/components/dynamicports.js
Normal file
@@ -0,0 +1,89 @@
|
||||
const { ProjectModel } = require('@noodl-models/projectmodel');
|
||||
|
||||
describe('Dynamic ports from viewer tests', function () {
|
||||
// Setup
|
||||
var projectJSON = {
|
||||
components: [
|
||||
{
|
||||
name: 'Root',
|
||||
graph: {
|
||||
connections: [
|
||||
{
|
||||
fromId: 'A',
|
||||
fromProperty: 'dynaA',
|
||||
toId: 'B',
|
||||
toProperty: 'x'
|
||||
},
|
||||
{
|
||||
fromId: 'B',
|
||||
fromProperty: 'y',
|
||||
toId: 'A',
|
||||
toProperty: 'dynaB'
|
||||
}
|
||||
],
|
||||
roots: [
|
||||
{
|
||||
type: 'rectangle',
|
||||
id: 'A',
|
||||
parameters: {
|
||||
dynaA: 10,
|
||||
dynaB: 'hej'
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'rectangle',
|
||||
id: 'B'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
var project = ProjectModel.fromJSON(projectJSON);
|
||||
|
||||
it('can rename inputs', function () {
|
||||
var n = project.findNodeWithId('A');
|
||||
|
||||
n.setDynamicPorts([
|
||||
{
|
||||
name: 'dynaA',
|
||||
type: 'number'
|
||||
},
|
||||
{
|
||||
name: 'dynaB',
|
||||
type: 'string'
|
||||
}
|
||||
]);
|
||||
|
||||
// Now renamed
|
||||
n.setDynamicPorts(
|
||||
[
|
||||
{
|
||||
name: 'bosseA',
|
||||
type: 'number'
|
||||
},
|
||||
{
|
||||
name: 'bosseB',
|
||||
type: 'string'
|
||||
}
|
||||
],
|
||||
{
|
||||
renamed: {
|
||||
plug: 'input',
|
||||
patterns: ['{{*}}A', '{{*}}B'],
|
||||
before: 'dyna',
|
||||
after: 'bosse'
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
expect(n.parameters['bosseA']).toBe(10);
|
||||
expect(n.parameters['bosseB']).toBe('hej');
|
||||
expect(n.parameters['dynaA']).toBe(undefined);
|
||||
expect(n.parameters['dynaB']).toBe(undefined);
|
||||
|
||||
expect(project.getComponentWithName('Root').graph.connections[0].fromProperty).toBe('bosseA');
|
||||
expect(project.getComponentWithName('Root').graph.connections[1].toProperty).toBe('bosseB');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user