describe('Net Module', function () { this.timeout(5000); before(() => { return Edge.connect(); }); after(() => { Edge.disconnect(); }); it('should broadcast a message from server', function (done) { const message = { test: 'broadcast', now: Date.now() }; const handler = (evt) => { const receivedMessage = evt.detail; if (receivedMessage.test !== 'broadcast') return; chai.assert.deepEqual(message, evt.detail); Edge.removeEventListener('message', handler); done(); }; Edge.addEventListener("message", handler); Edge.send(message); }); it('should send a message to the server and echo back', function(done) { const now = new Date(); const handler = evt => { const receivedMessage = evt.detail; if (receivedMessage.test !== 'echo') return; chai.assert.equal(receivedMessage.now, now.toJSON()); Edge.removeEventListener('message', handler); done(); } // Server should echo back message Edge.addEventListener('message', handler); // Send message to server Edge.send({ test: 'echo', now }); }); });