@@ -77,6 +77,27 @@ describe('change Node', function() {
7777 } ) ;
7878 } ) ;
7979
80+ it ( 'sets the value and type of the message property' , function ( done ) {
81+ var flow = [ { "id" :"changeNode1" , "type" :"change" , rules :[ { "t" : "set" , "p" : "payload" , "pt" : "msg" , "to" : "12345" , "tot" : "num" } ] , "reg" :false , "name" :"changeNode" , "wires" :[ [ "helperNode1" ] ] } ,
82+ { id :"helperNode1" , type :"helper" , wires :[ ] } ] ;
83+ helper . load ( changeNode , flow , function ( ) {
84+ var changeNode1 = helper . getNode ( "changeNode1" ) ;
85+ var helperNode1 = helper . getNode ( "helperNode1" ) ;
86+ var rule = helper . getNode ( "changeNode1" ) . rules [ 0 ] ;
87+ helperNode1 . on ( "input" , function ( msg ) {
88+ try {
89+ msg . payload . should . equal ( 12345 ) ;
90+ var t = typeof ( msg . payload ) ;
91+ t . should . equal ( "number" ) ;
92+ done ( ) ;
93+ } catch ( err ) {
94+ done ( err ) ;
95+ }
96+ } ) ;
97+ changeNode1 . receive ( { payload :"changeMe" } ) ;
98+ } ) ;
99+ } ) ;
100+
80101 it ( 'sets the value of an already set multi-level message property' , function ( done ) {
81102 var flow = [ { "id" :"changeNode1" , "type" :"change" , "action" :"replace" , "property" :"foo.bar" , "from" :"" , "to" :"bar" , "reg" :false , "name" :"changeNode" , "wires" :[ [ "helperNode1" ] ] } ,
82103 { id :"helperNode1" , type :"helper" , wires :[ ] } ] ;
@@ -317,6 +338,48 @@ describe('change Node', function() {
317338 } ) ;
318339 } ) ;
319340
341+ it ( 'changes the value and doesnt change type of the message property for partial match' , function ( done ) {
342+ var flow = [ { "id" :"changeNode1" , "type" :"change" , rules :[ { "t" : "change" , "p" : "payload" , "pt" : "msg" , "from" : "123" , "fromt" : "str" , "to" : "456" , "tot" : "num" } ] , "reg" :false , "name" :"changeNode" , "wires" :[ [ "helperNode1" ] ] } ,
343+ { id :"helperNode1" , type :"helper" , wires :[ ] } ] ;
344+ helper . load ( changeNode , flow , function ( ) {
345+ var changeNode1 = helper . getNode ( "changeNode1" ) ;
346+ var helperNode1 = helper . getNode ( "helperNode1" ) ;
347+ var rule = helper . getNode ( "changeNode1" ) . rules [ 0 ] ;
348+ helperNode1 . on ( "input" , function ( msg ) {
349+ try {
350+ msg . payload . should . equal ( "Change456Me" ) ;
351+ var t = typeof ( msg . payload ) ;
352+ t . should . equal ( "string" ) ;
353+ done ( ) ;
354+ } catch ( err ) {
355+ done ( err ) ;
356+ }
357+ } ) ;
358+ changeNode1 . receive ( { payload :"Change123Me" } ) ;
359+ } ) ;
360+ } ) ;
361+
362+ it ( 'changes the value and type of the message property if a complete match' , function ( done ) {
363+ var flow = [ { "id" :"changeNode1" , "type" :"change" , rules :[ { "t" : "change" , "p" : "payload" , "pt" : "msg" , "from" : "123" , "fromt" : "str" , "to" : "456" , "tot" : "num" } ] , "reg" :false , "name" :"changeNode" , "wires" :[ [ "helperNode1" ] ] } ,
364+ { id :"helperNode1" , type :"helper" , wires :[ ] } ] ;
365+ helper . load ( changeNode , flow , function ( ) {
366+ var changeNode1 = helper . getNode ( "changeNode1" ) ;
367+ var helperNode1 = helper . getNode ( "helperNode1" ) ;
368+ var rule = helper . getNode ( "changeNode1" ) . rules [ 0 ] ;
369+ helperNode1 . on ( "input" , function ( msg ) {
370+ try {
371+ msg . payload . should . equal ( 456 ) ;
372+ var t = typeof ( msg . payload ) ;
373+ t . should . equal ( "number" ) ;
374+ done ( ) ;
375+ } catch ( err ) {
376+ done ( err ) ;
377+ }
378+ } ) ;
379+ changeNode1 . receive ( { payload :"123" } ) ;
380+ } ) ;
381+ } ) ;
382+
320383 it ( 'changes the value of a multi-level message property' , function ( done ) {
321384 var flow = [ { "id" :"changeNode1" , "type" :"change" , "action" :"change" , "property" :"foo.bar" , "from" :"Hello" , "to" :"Goodbye" , "reg" :false , "name" :"changeNode" , "wires" :[ [ "helperNode1" ] ] } ,
322385 { id :"helperNode1" , type :"helper" , wires :[ ] } ] ;
@@ -627,8 +690,6 @@ describe('change Node', function() {
627690 } ) ;
628691 } ) ;
629692
630- //[{"id":"d5df2b27.7443a8","type":"change","z":"b0e25b28.3c7e88","name":"","rules":[{"t":"move","p":"topic","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":242.5,"y":541,"wires":[[]] }]
631-
632693 describe ( "#move" , function ( ) {
633694 it ( 'moves the value of the message property' , function ( done ) {
634695 var flow = [ { "id" :"changeNode1" , "type" :"change" , "rules" :[ { "t" :"move" , "p" :"topic" , "pt" :"msg" , "to" :"payload" , "tot" :"msg" } ] , "name" :"changeNode" , "wires" :[ [ "helperNode1" ] ] } ,
0 commit comments