/* eslint-disable no-return-assign, */ // TODO: This file was created by bulk-decaffeinate. // Fix any style issues and re-enable lint. /* * decaffeinate suggestions: * DS102: Remove unnecessary code created because of implicit returns * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ const RealTimeClient = require('./helpers/RealTimeClient') const Settings = require('settings-sharelatex') const { expect } = require('chai') describe('SessionSockets', function () { before(function () { return (this.checkSocket = function (fn) { const client = RealTimeClient.connect() client.on('connectionAccepted', fn) client.on('connectionRejected', fn) return null }) }) describe('without cookies', function () { before(function () { return (RealTimeClient.cookie = null) }) return it('should return a lookup error', function (done) { return this.checkSocket((error) => { expect(error).to.exist expect(error.message).to.equal('invalid session') return done() }) }) }) describe('with a different cookie', function () { before(function () { return (RealTimeClient.cookie = 'some.key=someValue') }) return it('should return a lookup error', function (done) { return this.checkSocket((error) => { expect(error).to.exist expect(error.message).to.equal('invalid session') return done() }) }) }) describe('with an invalid cookie', function () { before(function (done) { RealTimeClient.setSession({}, (error) => { if (error) { return done(error) } RealTimeClient.cookie = `${ Settings.cookieName }=${RealTimeClient.cookie.slice(17, 49)}` return done() }) return null }) return it('should return a lookup error', function (done) { return this.checkSocket((error) => { expect(error).to.exist expect(error.message).to.equal('invalid session') return done() }) }) }) describe('with a valid cookie and no matching session', function () { before(function () { return (RealTimeClient.cookie = `${Settings.cookieName}=unknownId`) }) return it('should return a lookup error', function (done) { return this.checkSocket((error) => { expect(error).to.exist expect(error.message).to.equal('invalid session') return done() }) }) }) return describe('with a valid cookie and a matching session', function () { before(function (done) { RealTimeClient.setSession({}, done) return null }) return it('should not return an error', function (done) { return this.checkSocket((error) => { expect(error).to.not.exist return done() }) }) }) })