Simon Hunt

GUI -- Implemented sendEvent() in WsEventService.

Change-Id: Iac4833e66e7688e490b24b4cbaca3514a59ce618
......@@ -20,11 +20,28 @@
(function () {
'use strict';
var sid = 0;
angular.module('onosRemote')
.factory('WsEventService', ['$location', function ($loc) {
.factory('WsEventService', [function () {
function sendEvent(ws, evType, payload) {
var p = payload || {};
ws.send({
event: evType,
sid: ++sid,
payload: p
});
}
function resetSid() {
sid = 0;
}
return {
tbd: function () {}
sendEvent: sendEvent,
resetSid: resetSid
};
}]);
......
/*
* Copyright 2015 Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
ONOS GUI -- Remote -- Web Socket Event Service - Unit Tests
*/
describe('factory: fw/remote/wsevent.js', function () {
var $log, fs, wse;
beforeEach(module('onosRemote'));
beforeEach(inject(function (_$log_, FnService, WsEventService) {
$log = _$log_;
fs = FnService;
wse = WsEventService;
wse.resetSid();
}));
it('should define WsEventService', function () {
expect(wse).toBeDefined();
});
it('should define api functions', function () {
expect(fs.areFunctions(wse, [
'sendEvent'
])).toBeTruthy();
});
var event,
fakeWs = {
send: function (ev) {
event = ev;
}
};
it('should construct an event object with no payload', function () {
wse.sendEvent(fakeWs, 'foo');
expect(event.event).toEqual('foo');
expect(event.sid).toEqual(1);
expect(event.payload).toEqual({});
});
it('should construct an event object with some payload', function () {
wse.sendEvent(fakeWs, 'bar', { val: 42 });
expect(event.event).toEqual('bar');
expect(event.sid).toEqual(1);
expect(event.payload).toEqual({ val: 42 });
});
it('should increment the sid', function () {
wse.sendEvent(fakeWs, 'one');
expect(event.event).toEqual('one');
expect(event.sid).toEqual(1);
wse.sendEvent(fakeWs, 'dos');
expect(event.event).toEqual('dos');
expect(event.sid).toEqual(2);
wse.sendEvent(fakeWs, 'tres');
expect(event.event).toEqual('tres');
expect(event.sid).toEqual(3);
});
});