SessionTests.js 1.7 KB

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