const should = require("should"); const NR_TEST_UTILS = require("nr-test-utils"); const { Group } = NR_TEST_UTILS.require("@node-red/runtime/lib/flows/Group"); describe('Group', function () { describe('getSetting', function () { it("returns group name/id", async function () { const group = new Group({ getSetting: v => v+v }, { name: "g1", id: "group1" }) await group.start() group.getSetting("NR_GROUP_NAME").should.equal("g1") group.getSetting("NR_GROUP_ID").should.equal("group1") }) it("delegates to parent if not found", async function () { const group = new Group({ getSetting: v => v+v }, { name: "g1", id: "group1" }) await group.start() group.getSetting("123").should.equal("123123") }) it("delegates to parent if explicit requested", async function () { const parentGroup = new Group({ getSetting: v => v+v }, { name: "g0", id: "group0" }) const group = new Group(parentGroup, { name: "g1", id: "group1" }) await parentGroup.start() await group.start() group.getSetting("$parent.NR_GROUP_NAME").should.equal("g0") group.getSetting("$parent.NR_GROUP_ID").should.equal("group0") }) }) })