SessionTests.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /* eslint-disable
  2. handle-callback-err,
  3. no-return-assign,
  4. */
  5. // TODO: This file was created by bulk-decaffeinate.
  6. // Fix any style issues and re-enable lint.
  7. /*
  8. * decaffeinate suggestions:
  9. * DS101: Remove unnecessary use of Array.from
  10. * DS102: Remove unnecessary code created because of implicit returns
  11. * DS207: Consider shorter variations of null checks
  12. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  13. */
  14. const { expect } = require('chai')
  15. const RealTimeClient = require('./helpers/RealTimeClient')
  16. describe('Session', function () {
  17. return describe('with an established session', function () {
  18. before(function (done) {
  19. this.user_id = 'mock-user-id'
  20. RealTimeClient.setSession(
  21. {
  22. user: { _id: this.user_id }
  23. },
  24. (error) => {
  25. if (error != null) {
  26. throw error
  27. }
  28. this.client = RealTimeClient.connect()
  29. return done()
  30. }
  31. )
  32. return null
  33. })
  34. it('should not get disconnected', function (done) {
  35. let disconnected = false
  36. this.client.on('disconnect', () => (disconnected = true))
  37. return setTimeout(() => {
  38. expect(disconnected).to.equal(false)
  39. return done()
  40. }, 500)
  41. })
  42. return it('should appear in the list of connected clients', function (done) {
  43. return RealTimeClient.getConnectedClients((error, clients) => {
  44. let included = false
  45. for (const client of Array.from(clients)) {
  46. if (client.client_id === this.client.socket.sessionid) {
  47. included = true
  48. break
  49. }
  50. }
  51. expect(included).to.equal(true)
  52. return done()
  53. })
  54. })
  55. })
  56. })