1.4.0 • Published 2 years ago

node-red-node-loader v1.4.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

node-red-node-loader

Help loading node for Node Test Helper

Install

$ npm i node-red-node-loader

Usage

const nodeArr = new NodeLoader().getNodeArray(fileString)
const nodeArr = new NodeLoader().getNodeArray(fileString,excludeList)
const nodeArr = new NodeLoader().getNodeArrayFromFlow(flowData,excludeList)
//excludeList is optional

Example

import {NodeLoader} from 'node-red-node-loader'
import helper from 'node-red-node-test-helper'
import {NodeRedTestServer} from 'node-red-test-helper-tool'
import fs from 'fs/promises'
helper.init(require.resolve('node-red'))

describe("test node red flow",()=>{
    const FILENAME = __dirname+"/flows/flow.json"
    // const nodeLoader = new NodeLoader()
    beforeAll((done)=>{
        helper.startServer(done)
    })
    afterAll((done)=>{
        helper.stopServer(done)
    })
    afterEach(()=>{
        helper.unload()
    })
    it("test node loader with node-red-node-loader and using done",(done)=>{
        fs.readFile(FILENAME,'utf-8').then(async(res)=>{
            const flow = JSON.parse(res)
            const nodeArr = new NodeLoader().getNodeArray(res)
            const nodeArr2 = new NodeLoader().getNodeArrayFromFlow(flow)
            helper.load([...nodeArr],flow,()=>{
                const n0 = helper.getNode("n0")
                const n1 = helper.getNode("n1")
                n0.send({payload:"UpperCase"})
                n1.on('input',(msg)=>{
                    try{
                        done()
                    }
                    catch(err)
                    {
                        done(err)
                    }
                })
            })
        })
    })
    it("test node loader with node-red-node-loader and using async",async()=>{
        await fs.readFile(FILENAME,'utf-8').then(async(res)=>{
            const flow = JSON.parse(res)
            const nodeArr = new NodeLoader().getNodeArray(res)
            
            await helper.load([...nodeArr],flow)
            const n0 = helper.getNode("n0")
            const n1 = helper.getNode("n1")
            await new Promise((resolve,reject)=>{
                n0.send({payload:"UpperCase"})
                n1.on('input',(msg)=>{
                    try{
                        resolve(msg)
                    }
                    catch(err)
                    {
                        reject(err)
                    }
                })
            })
        })
    })
    it("test node loader with node-red-node-loader, node-red-test-helper-tool and using async",async()=>{
        const testServer = new NodeRedTestServer(helper)
        await fs.readFile(FILENAME,'utf-8').then(async(res)=>{
            const flow = JSON.parse(res)
            const nodeArr = new NodeLoader().getNodeArray(res)
             
            const testOuput = await testServer.testFlow(nodeArr,flow,'n0','n1',{payload:"UpperCase"})

        })
    })
} )

Example repo

1.4.0

2 years ago

1.3.11

2 years ago

1.3.10

2 years ago

1.3.9

2 years ago

1.3.8

2 years ago

1.3.7

2 years ago

1.3.6

2 years ago

1.3.5

2 years ago

1.3.4

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.7

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.24

2 years ago

1.1.23

2 years ago

1.1.22

2 years ago

1.1.21

2 years ago

1.1.20

2 years ago

1.1.19

2 years ago

1.1.18

2 years ago

1.1.17

2 years ago

1.1.16

2 years ago

1.1.15

2 years ago

1.1.14

2 years ago

1.1.13

2 years ago

1.1.12

2 years ago

1.1.11

2 years ago

1.1.10

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago