Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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;
  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( AnalyticsEvents ).toBeDefined();
  75. expect( AnalyticsEvents.TYPE_OPERATIONAL ).toBe( 'operational' );
  76. expect( AnalyticsEvents.TYPE_PAGE ).toBe( 'page' );
  77. expect( AnalyticsEvents.TYPE_TRACK ).toBe( 'track' );
  78. expect( AnalyticsEvents.TYPE_UI ).toBe( 'ui' );
  79. expect( AnalyticsEvents.ACTION_JINGLE_RESTART ).toBe( 'restart' );
  80. expect( AnalyticsEvents.ACTION_JINGLE_SA_TIMEOUT ).toBe( 'session-accept.timeout' );
  81. expect( AnalyticsEvents.ACTION_JINGLE_SI_RECEIVED ).toBe( 'session-initiate.received' );
  82. expect( AnalyticsEvents.ACTION_JINGLE_SI_TIMEOUT ).toBe( 'session-initiate.timeout' );
  83. expect( AnalyticsEvents.ACTION_JINGLE_TERMINATE ).toBe( 'terminate' );
  84. expect( AnalyticsEvents.ACTION_JINGLE_TR_RECEIVED ).toBe( 'transport-replace.received' );
  85. expect( AnalyticsEvents.ACTION_JINGLE_TR_SUCCESS ).toBe( 'transport-replace.success' );
  86. expect( AnalyticsEvents.ACTION_P2P_DECLINED ).toBe( 'decline' );
  87. expect( AnalyticsEvents.ACTION_P2P_ESTABLISHED ).toBe( 'established' );
  88. expect( AnalyticsEvents.ACTION_P2P_FAILED ).toBe( 'failed' );
  89. expect( AnalyticsEvents.ACTION_P2P_SWITCH_TO_JVB ).toBe( 'switch.to.jvb' );
  90. expect( AnalyticsEvents.AVAILABLE_DEVICE ).toBe( 'available.device' );
  91. expect( AnalyticsEvents.CONNECTION_DISCONNECTED ).toBe( 'connection.disconnected' );
  92. expect( AnalyticsEvents.FEEDBACK ).toBe( 'feedback' );
  93. expect( AnalyticsEvents.ICE_DURATION ).toBe( 'ice.duration' );
  94. expect( AnalyticsEvents.ICE_ESTABLISHMENT_DURATION_DIFF ).toBe( 'ice.establishment.duration.diff' );
  95. expect( AnalyticsEvents.ICE_STATE_CHANGED ).toBe( 'ice.state.changed' );
  96. expect( AnalyticsEvents.NO_BYTES_SENT ).toBe( 'track.no-bytes-sent' );
  97. expect( AnalyticsEvents.TRACK_UNMUTED ).toBe( 'track.unmuted' );
  98. expect( typeof ( createBridgeDownEvent ) ).toBe( 'function' );
  99. expect( typeof ( createConnectionFailedEvent ) ).toBe( 'function' );
  100. expect( typeof ( createConferenceEvent ) ).toBe( 'function' );
  101. expect( typeof ( createConnectionStageReachedEvent ) ).toBe( 'function' );
  102. expect( typeof ( createE2eRttEvent ) ).toBe( 'function' );
  103. expect( typeof ( createFocusLeftEvent ) ).toBe( 'function' );
  104. expect( typeof ( createGetUserMediaEvent ) ).toBe( 'function' );
  105. expect( typeof ( createParticipantConnectionStatusEvent ) ).toBe( 'function' );
  106. expect( typeof ( createTrackStreamingStatusEvent ) ).toBe( 'function' );
  107. expect( typeof ( createJingleEvent ) ).toBe( 'function' );
  108. expect( typeof ( createNoDataFromSourceEvent ) ).toBe( 'function' );
  109. expect( typeof ( createP2PEvent ) ).toBe( 'function' );
  110. expect( typeof ( createRemotelyMutedEvent ) ).toBe( 'function' );
  111. expect( typeof ( createRtpStatsEvent ) ).toBe( 'function' );
  112. expect( typeof ( createRttByRegionEvent ) ).toBe( 'function' );
  113. expect( typeof ( createTransportStatsEvent ) ).toBe( 'function' );
  114. expect( typeof ( createAudioOutputProblemEvent ) ).toBe( 'function' );
  115. expect( typeof ( createBridgeChannelClosedEvent ) ).toBe( 'function' );
  116. expect( typeof ( createTtfmEvent ) ).toBe( 'function' );
  117. } );
  118. it( "unknown members", () => {
  119. const keys = Object.keys( others );
  120. expect( keys ).withContext( `Extra members: ${ keys.join( ", " ) }` ).toEqual( [] );
  121. } );
  122. } );