modified lib-jitsi-meet dev repo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

AnalyticsEvents.spec.ts 4.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. import * as exported from "./AnalyticsEvents";
  2. // this test is brittle on purpose because it's designed to ensure that the TypeScript conversion maintains backward compatibility
  3. describe( "/service/statistics/AnalyticsEvents members", () => {
  4. const {
  5. TYPE_OPERATIONAL,
  6. TYPE_PAGE,
  7. TYPE_TRACK,
  8. TYPE_UI,
  9. ACTION_JINGLE_RESTART,
  10. ACTION_JINGLE_SA_TIMEOUT,
  11. ACTION_JINGLE_SI_RECEIVED,
  12. ACTION_JINGLE_SI_TIMEOUT,
  13. ACTION_JINGLE_TERMINATE,
  14. ACTION_JINGLE_TR_RECEIVED,
  15. ACTION_JINGLE_TR_SUCCESS,
  16. ACTION_P2P_DECLINED,
  17. ACTION_P2P_ESTABLISHED,
  18. ACTION_P2P_FAILED,
  19. ACTION_P2P_SWITCH_TO_JVB,
  20. AVAILABLE_DEVICE,
  21. CONNECTION_DISCONNECTED,
  22. FEEDBACK,
  23. ICE_DURATION,
  24. ICE_ESTABLISHMENT_DURATION_DIFF,
  25. ICE_STATE_CHANGED,
  26. NO_BYTES_SENT,
  27. TRACK_UNMUTED,
  28. createBridgeDownEvent,
  29. createConnectionFailedEvent,
  30. createConferenceEvent,
  31. createConnectionStageReachedEvent,
  32. createE2eRttEvent,
  33. createFocusLeftEvent,
  34. createGetUserMediaEvent,
  35. createParticipantConnectionStatusEvent,
  36. createTrackStreamingStatusEvent,
  37. createJingleEvent,
  38. createNoDataFromSourceEvent,
  39. createP2PEvent,
  40. createRemotelyMutedEvent,
  41. createRtpStatsEvent,
  42. createRttByRegionEvent,
  43. createTransportStatsEvent,
  44. createAudioOutputProblemEvent,
  45. createBridgeChannelClosedEvent,
  46. createTtfmEvent,
  47. /*AnalyticsEvents,*/
  48. ...others
  49. } = exported as any; // TODO: remove cast after typescript conversion
  50. it( "known members", () => {
  51. expect( TYPE_OPERATIONAL ).toBe( 'operational' );
  52. expect( TYPE_PAGE ).toBe( 'page' );
  53. expect( TYPE_TRACK ).toBe( 'track' );
  54. expect( TYPE_UI ).toBe( 'ui' );
  55. expect( ACTION_JINGLE_RESTART ).toBe( 'restart' );
  56. expect( ACTION_JINGLE_SA_TIMEOUT ).toBe( 'session-accept.timeout' );
  57. expect( ACTION_JINGLE_SI_RECEIVED ).toBe( 'session-initiate.received' );
  58. expect( ACTION_JINGLE_SI_TIMEOUT ).toBe( 'session-initiate.timeout' );
  59. expect( ACTION_JINGLE_TERMINATE ).toBe( 'terminate' );
  60. expect( ACTION_JINGLE_TR_RECEIVED ).toBe( 'transport-replace.received' );
  61. expect( ACTION_JINGLE_TR_SUCCESS ).toBe( 'transport-replace.success' );
  62. expect( ACTION_P2P_DECLINED ).toBe( 'decline' );
  63. expect( ACTION_P2P_ESTABLISHED ).toBe( 'established' );
  64. expect( ACTION_P2P_FAILED ).toBe( 'failed' );
  65. expect( ACTION_P2P_SWITCH_TO_JVB ).toBe( 'switch.to.jvb' );
  66. expect( AVAILABLE_DEVICE ).toBe( 'available.device' );
  67. expect( CONNECTION_DISCONNECTED ).toBe( 'connection.disconnected' );
  68. expect( FEEDBACK ).toBe( 'feedback' );
  69. expect( ICE_DURATION ).toBe( 'ice.duration' );
  70. expect( ICE_ESTABLISHMENT_DURATION_DIFF ).toBe( 'ice.establishment.duration.diff' );
  71. expect( ICE_STATE_CHANGED ).toBe( 'ice.state.changed' );
  72. expect( NO_BYTES_SENT ).toBe( 'track.no-bytes-sent' );
  73. expect( TRACK_UNMUTED ).toBe( 'track.unmuted' );
  74. expect( typeof ( createBridgeDownEvent ) ).toBe( 'function' );
  75. expect( typeof ( createConnectionFailedEvent ) ).toBe( 'function' );
  76. expect( typeof ( createConferenceEvent ) ).toBe( 'function' );
  77. expect( typeof ( createConnectionStageReachedEvent ) ).toBe( 'function' );
  78. expect( typeof ( createE2eRttEvent ) ).toBe( 'function' );
  79. expect( typeof ( createFocusLeftEvent ) ).toBe( 'function' );
  80. expect( typeof ( createGetUserMediaEvent ) ).toBe( 'function' );
  81. expect( typeof ( createParticipantConnectionStatusEvent ) ).toBe( 'function' );
  82. expect( typeof ( createTrackStreamingStatusEvent ) ).toBe( 'function' );
  83. expect( typeof ( createJingleEvent ) ).toBe( 'function' );
  84. expect( typeof ( createNoDataFromSourceEvent ) ).toBe( 'function' );
  85. expect( typeof ( createP2PEvent ) ).toBe( 'function' );
  86. expect( typeof ( createRemotelyMutedEvent ) ).toBe( 'function' );
  87. expect( typeof ( createRtpStatsEvent ) ).toBe( 'function' );
  88. expect( typeof ( createRttByRegionEvent ) ).toBe( 'function' );
  89. expect( typeof ( createTransportStatsEvent ) ).toBe( 'function' );
  90. expect( typeof ( createAudioOutputProblemEvent ) ).toBe( 'function' );
  91. expect( typeof ( createBridgeChannelClosedEvent ) ).toBe( 'function' );
  92. expect( typeof ( createTtfmEvent ) ).toBe( 'function' );
  93. } );
  94. it( "unknown members", () => {
  95. const keys = Object.keys( others );
  96. expect( keys ).withContext( `Extra members: ${ keys.join( ", " ) }` ).toEqual( [] );
  97. } );
  98. } );