UNPKG

meshblu-rules-engine

Version:

Rules for transforming devices in Meshblu based off of events

105 lines (92 loc) 2.99 kB
MeshbluRulesEngine = require '../src/models/meshblu-rules-engine' StartSkypeConfig = require '../rules/start-skype.cson' {rules, noevents} = StartSkypeConfig describe 'Start Skype', -> beforeEach -> @sut = new MeshbluRulesEngine rulesConfig: StartSkypeConfig describe 'when the room is not in skype and has a currentMeeting', -> beforeEach (done) -> room = uuid: 'some-room-group-uuid' genisys: currentMeeting: meetingId: 'current-meeting-uuid' devices: activities: 'activities-device-uuid' people: byAttendee: isAttendee: [ {uuid: 'person-1'} {uuid: 'person-2'} ] @sut.run data: room, (error, @results) => done error it 'should return results', -> expect(@results.events).to.deep.equal [ type: 'meshblu' params: operation: 'update' uuid: 'activities-device-uuid' as: 'some-room-group-uuid' data: $set: "genisys.activities.startSkype": title: "Start Skype", jobType: "start-skype", meetingId: "current-meeting-uuid", people: [ {uuid: 'person-1'} {uuid: 'person-2'} ] ] describe 'when the room is in skype', -> describe ' and has a currentMeeting', -> beforeEach (done) -> room = uuid: 'some-room-group-uuid' genisys: inSkype: true currentMeeting: meetingId: 'current-meeting-uuid' devices: activities: 'activities-device-uuid' people: byAttendee: isAttendee: [ {uuid: 'person-1'} {uuid: 'person-2'} ] @sut.run data: room, (error, @results) => done error it 'should return results', -> expect(@results.events).to.deep.equal [ type: 'meshblu' params: uuid: "activities-device-uuid" as: 'some-room-group-uuid' operation: 'update' data: $unset: "genisys.activities.startSkype": true ] describe ' and has no currentMeeting', -> beforeEach (done) -> room = uuid: 'some-room-group-uuid' genisys: inSkype: true devices: activities: 'activities-device-uuid' @sut.run data: room, (error, @results) => done error it 'should return results', -> expect(@results.events).to.deep.equal [ type: 'meshblu' params: uuid: "activities-device-uuid" as: 'some-room-group-uuid' operation: 'update' data: $unset: "genisys.activities.startSkype": true ]