@@ -20,6 +20,7 @@ import {
2020 persistPendingResult ,
2121} from '../room/resultOutbox' ;
2222import {
23+ clearRoomPassword ,
2324 persistRoomPassword ,
2425 readRoomPassword ,
2526} from '../room/roomPasswordStorage' ;
@@ -161,6 +162,7 @@ const result = {
161162describe ( 'rooms middleware' , ( ) => {
162163 beforeEach ( ( ) => {
163164 window . localStorage . clear ( ) ;
165+ [ 'private-room' , 'new-private-room' , 'room-one' , 'room-two' ] . forEach ( clearRoomPassword ) ;
164166 } ) ;
165167
166168 it ( 'keeps the loaded room mounted while reconnecting its socket' , ( ) => {
@@ -195,8 +197,8 @@ describe('rooms middleware', () => {
195197 expect ( joins [ 0 ] . args [ 0 ] ) . toEqual ( { id : 'room-two' , password : 'secret' } ) ;
196198 } ) ;
197199
198- it ( 'uses a saved private room password after a refresh' , ( ) => {
199- persistRoomPassword ( ' private-room', 'saved-password' ) ;
200+ it ( 'does not reuse a private room password after a refresh' , ( ) => {
201+ window . localStorage . setItem ( 'letscube.roomPassword.v1. private-room', 'saved-password' ) ;
200202 const { namespace, store } = buildStore ( {
201203 roomState : {
202204 ...initialRoom ( ) ,
@@ -209,10 +211,7 @@ describe('rooms middleware', () => {
209211 store . dispatch ( joinRoom ( { id : 'private-room' } ) ) ;
210212
211213 const join = emissionsFor ( namespace , Protocol . JOIN_ROOM ) [ 0 ] ;
212- expect ( join . args [ 0 ] ) . toEqual ( {
213- id : 'private-room' ,
214- password : 'saved-password' ,
215- } ) ;
214+ expect ( join . args [ 0 ] ) . toEqual ( { id : 'private-room' , password : null } ) ;
216215
217216 const joinedRoom = {
218217 ...initialRoom ( ) ,
@@ -223,8 +222,9 @@ describe('rooms middleware', () => {
223222 delete joinedRoom . resultSubmission ;
224223 join . args [ 1 ] ( null , joinedRoom ) ;
225224
226- expect ( store . getState ( ) . room . password ) . toBe ( 'saved-password' ) ;
227- expect ( readRoomPassword ( 'private-room' ) ) . toBe ( 'saved-password' ) ;
225+ expect ( store . getState ( ) . room . password ) . toBeNull ( ) ;
226+ expect ( readRoomPassword ( 'private-room' ) ) . toBeNull ( ) ;
227+ expect ( window . localStorage . getItem ( 'letscube.roomPassword.v1.private-room' ) ) . toBeNull ( ) ;
228228 } ) ;
229229
230230 it ( 'remembers a successful private room password' , ( ) => {
0 commit comments