@@ -283,7 +283,7 @@ describe('features/unified-share-modal/SharedLinkSection', () => {
283283 } ) ;
284284
285285 test ( 'should handle attempt to copy when the clipboard API is available and request is successful' , async ( ) => {
286- expect . assertions ( 4 ) ;
286+ expect . assertions ( 6 ) ;
287287 const sharedLink = { url : '' , isNewSharedLink : false } ;
288288 const addSharedLink = jest . fn ( ) ;
289289 const onCopyInitMock = jest . fn ( ) ;
@@ -308,14 +308,14 @@ describe('features/unified-share-modal/SharedLinkSection', () => {
308308 wrapper . setProps ( { submitting : false } ) ;
309309 wrapper . setProps ( { sharedLink : { url : 'http://example.com/' , isNewSharedLink : true } } ) ;
310310
311+ await new Promise ( r => setTimeout ( r , 0 ) ) ;
312+
311313 expect ( onCopyInitMock ) . toBeCalledTimes ( 1 ) ;
312- try {
313- await expect ( writeTextSuccessMock ) . toBeCalledTimes ( 1 ) ;
314- expect ( onCopySuccessMock ) . toBeCalledTimes ( 1 ) ;
315- expect ( wrapper . find ( 'TextInputWithCopyButton' ) . prop ( 'triggerCopyOnLoad' ) ) . toBe ( true ) ;
316- } catch ( err ) {
317- expect ( onCopyErrorMock ) . toBeCalledTimes ( 0 ) ;
318- }
314+ expect ( writeTextSuccessMock ) . toBeCalledTimes ( 1 ) ;
315+ expect ( onCopySuccessMock ) . toBeCalledTimes ( 1 ) ;
316+ expect ( wrapper . find ( 'TextInputWithCopyButton' ) . prop ( 'triggerCopyOnLoad' ) ) . toBe ( true ) ;
317+ expect ( wrapper . state ( 'isCopySuccessful' ) ) . toEqual ( true ) ;
318+ expect ( onCopyErrorMock ) . toBeCalledTimes ( 0 ) ;
319319 } ) ;
320320
321321 test ( 'should only initiate copy when we specifically request a copy to be triggered' , ( ) => {
@@ -351,15 +351,15 @@ describe('features/unified-share-modal/SharedLinkSection', () => {
351351 } ) ;
352352
353353 test ( 'should handle attempt to copy when the clipboard request fails' , async ( ) => {
354- expect . assertions ( 3 ) ;
354+ expect . assertions ( 6 ) ;
355355 const sharedLink = { url : '' , isNewSharedLink : false } ;
356356 const addSharedLink = jest . fn ( ) ;
357357 const onCopyInitMock = jest . fn ( ) ;
358358 const onCopySuccessMock = jest . fn ( ) ;
359359 const onCopyErrorMock = jest . fn ( ) ;
360- const writeTextSuccessMock = jest . fn ( ( ) => Promise . reject ( ) ) ;
360+ const writeTextRejectMock = jest . fn ( ( ) => Promise . reject ( ) ) ;
361361 navigator . clipboard = {
362- writeText : writeTextSuccessMock ,
362+ writeText : writeTextRejectMock ,
363363 } ;
364364
365365 const wrapper = getWrapper ( {
@@ -376,14 +376,14 @@ describe('features/unified-share-modal/SharedLinkSection', () => {
376376 wrapper . setProps ( { submitting : false } ) ;
377377 wrapper . setProps ( { sharedLink : { url : 'http://example.com/' , isNewSharedLink : true } } ) ;
378378
379+ await new Promise ( r => setTimeout ( r , 0 ) ) ;
380+
379381 expect ( onCopyInitMock ) . toBeCalledTimes ( 1 ) ;
380- try {
381- await expect ( writeTextSuccessMock ) . toBeCalledTimes ( 1 ) ;
382- expect ( onCopySuccessMock ) . toBeCalledTimes ( 0 ) ;
383- } catch ( err ) {
384- expect ( onCopyErrorMock ) . toBeCalledTimes ( 1 ) ;
385- expect ( wrapper . find ( 'TextInputWithCopyButton' ) . prop ( 'triggerCopyOnLoad' ) ) . toBe ( false ) ;
386- }
382+ expect ( writeTextRejectMock ) . toBeCalledTimes ( 1 ) ;
383+ expect ( onCopySuccessMock ) . toBeCalledTimes ( 0 ) ;
384+ expect ( onCopyErrorMock ) . toBeCalledTimes ( 1 ) ;
385+ expect ( wrapper . find ( 'TextInputWithCopyButton' ) . prop ( 'triggerCopyOnLoad' ) ) . toBe ( false ) ;
386+ expect ( wrapper . state ( 'isCopySuccessful' ) ) . toEqual ( false ) ;
387387 } ) ;
388388 } ) ;
389389} ) ;
0 commit comments