SessionTests.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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 chai = require('chai')
  15. const { expect } = chai
  16. const RealTimeClient = require('./helpers/RealTimeClient')
  17. describe('Session', function () {
  18. return describe('with an established session', function () {
  19. before(function (done) {
  20. this.user_id = 'mock-user-id'
  21. RealTimeClient.setSession(
  22. {
  23. user: { _id: this.user_id }
  24. },
  25. (error) => {
  26. if (error != null) {
  27. throw error
  28. }
  29. this.client = RealTimeClient.connect()
  30. return done()
  31. }
  32. )
  33. return null
  34. })
  35. it('should not get disconnected', function (done) {
  36. let disconnected = false
  37. this.client.on('disconnect', () => (disconnected = true))
  38. return setTimeout(() => {
  39. expect(disconnected).to.equal(false)
  40. return done()
  41. }, 500)
  42. })
  43. return it('should appear in the list of connected clients', function (done) {
  44. return RealTimeClient.getConnectedClients((error, clients) => {
  45. let included = false
  46. for (const client of Array.from(clients)) {
  47. if (client.client_id === this.client.socket.sessionid) {
  48. included = true
  49. break
  50. }
  51. }
  52. expect(included).to.equal(true)
  53. return done()
  54. })
  55. })
  56. })
  57. })