@@ -77,7 +77,9 @@ describe("RTCEncryptionManager", () => {
7777 getMembershipMock . mockReturnValue ( [ ] ) ;
7878
7979 encryptionManager . join ( undefined ) ;
80-
80+ // After join it is too early, key might be lost as no one is listening yet
81+ expect ( onEncryptionKeysChanged ) . not . toHaveBeenCalled ( ) ;
82+ encryptionManager . onMembershipsUpdate ( [ ] ) ;
8183 // The key should have been rolled out immediately
8284 expect ( onEncryptionKeysChanged ) . toHaveBeenCalled ( ) ;
8385 } ) ;
@@ -91,6 +93,7 @@ describe("RTCEncryptionManager", () => {
9193 getMembershipMock . mockReturnValue ( members ) ;
9294
9395 encryptionManager . join ( undefined ) ;
96+ encryptionManager . onMembershipsUpdate ( [ ] ) ;
9497
9598 expect ( mockTransport . sendKey ) . toHaveBeenCalledTimes ( 1 ) ;
9699 expect ( mockTransport . sendKey ) . toHaveBeenCalledWith (
@@ -114,6 +117,7 @@ describe("RTCEncryptionManager", () => {
114117 getMembershipMock . mockReturnValue ( members ) ;
115118
116119 encryptionManager . join ( undefined ) ;
120+ encryptionManager . onMembershipsUpdate ( [ ] ) ;
117121
118122 expect ( mockTransport . sendKey ) . toHaveBeenCalledTimes ( 1 ) ;
119123 expect ( mockTransport . sendKey ) . toHaveBeenCalledWith (
@@ -169,6 +173,7 @@ describe("RTCEncryptionManager", () => {
169173
170174 // initial rollout
171175 encryptionManager . join ( undefined ) ;
176+ encryptionManager . onMembershipsUpdate ( [ ] ) ;
172177 await jest . runOnlyPendingTimersAsync ( ) ;
173178
174179 expect ( mockTransport . sendKey ) . toHaveBeenCalledTimes ( 1 ) ;
@@ -217,6 +222,7 @@ describe("RTCEncryptionManager", () => {
217222
218223 // initial rollout
219224 encryptionManager . join ( undefined ) ;
225+ encryptionManager . onMembershipsUpdate ( [ ] ) ;
220226 await jest . runOnlyPendingTimersAsync ( ) ;
221227
222228 expect ( mockTransport . sendKey ) . toHaveBeenCalledTimes ( 1 ) ;
@@ -246,6 +252,7 @@ describe("RTCEncryptionManager", () => {
246252 getMembershipMock . mockReturnValue ( members ) ;
247253
248254 encryptionManager . join ( undefined ) ;
255+ encryptionManager . onMembershipsUpdate ( [ ] ) ;
249256 await jest . advanceTimersByTimeAsync ( 10 ) ;
250257
251258 expect ( mockTransport . sendKey ) . toHaveBeenCalledTimes ( 1 ) ;
@@ -324,6 +331,7 @@ describe("RTCEncryptionManager", () => {
324331 getMembershipMock . mockReturnValue ( members ) ;
325332
326333 encryptionManager . join ( undefined ) ;
334+ encryptionManager . onMembershipsUpdate ( [ ] ) ;
327335 await jest . advanceTimersByTimeAsync ( 10 ) ;
328336
329337 mockTransport . emit (
@@ -431,6 +439,7 @@ describe("RTCEncryptionManager", () => {
431439
432440 // Let's join
433441 encryptionManager . join ( undefined ) ;
442+ encryptionManager . onMembershipsUpdate ( [ ] ) ;
434443 await jest . advanceTimersByTimeAsync ( 10 ) ;
435444
436445 // The initial rollout
0 commit comments