@@ -22,7 +22,6 @@ import {
2222 CRDT_RECORD_METADATA_MAP_KEY as RECORD_METADATA_MAP_KEY ,
2323 CRDT_RECORD_METADATA_SAVED_AT_KEY as SAVED_AT_KEY ,
2424 CRDT_RECORD_METADATA_SAVED_BY_KEY as SAVED_BY_KEY ,
25- WORDPRESS_META_KEY_FOR_CRDT_DOC_PERSISTENCE ,
2625} from '../config' ;
2726import { createPersistedCRDTDoc } from '../persistence' ;
2827import { getProviderCreators } from '../providers' ;
@@ -48,6 +47,9 @@ describe( 'SyncManager', () => {
4847 let mockRecord : ObjectData ;
4948 let mockSyncConfig : jest . MockedObject < SyncConfig > ;
5049
50+ // Capture the Y.Doc from provider creator
51+ let capturedDoc : Y . Doc | null = null ;
52+
5153 beforeEach ( ( ) => {
5254 // Reset all mocks
5355 jest . clearAllMocks ( ) ;
@@ -60,8 +62,15 @@ describe( 'SyncManager', () => {
6062 mockProviderResult = {
6163 destroy : jest . fn ( ) ,
6264 } ;
63- mockProviderCreator = jest . fn ( ( ) =>
64- Promise . resolve ( mockProviderResult )
65+ mockProviderCreator = jest . fn (
66+ async (
67+ _objectType : string ,
68+ _objectId : string | null ,
69+ ydoc : Y . Doc
70+ ) => {
71+ capturedDoc = ydoc ;
72+ return mockProviderResult ;
73+ }
6574 ) ;
6675 mockGetProviderCreators . mockReturnValue ( [ mockProviderCreator ] ) ;
6776
@@ -91,6 +100,7 @@ describe( 'SyncManager', () => {
91100 getEditedRecord : jest . fn ( async ( ) =>
92101 Promise . resolve ( mockRecord )
93102 ) ,
103+ refetchRecord : jest . fn ( async ( ) => Promise . resolve ( ) ) ,
94104 saveRecord : jest . fn ( async ( ) => Promise . resolve ( ) ) ,
95105 } ;
96106 } ) ;
@@ -284,13 +294,6 @@ describe( 'SyncManager', () => {
284294 ) . not . toHaveBeenCalled ( ) ;
285295
286296 // Verify a save operation occurred.
287- expect ( mockHandlers . editRecord ) . toHaveBeenCalledTimes ( 1 ) ;
288- expect ( mockHandlers . editRecord ) . toHaveBeenCalledWith ( {
289- meta : {
290- [ WORDPRESS_META_KEY_FOR_CRDT_DOC_PERSISTENCE ] :
291- expect . any ( String ) ,
292- } ,
293- } ) ;
294297 expect ( mockHandlers . saveRecord ) . toHaveBeenCalledTimes ( 1 ) ;
295298 } ) ;
296299
@@ -377,13 +380,6 @@ describe( 'SyncManager', () => {
377380 ) . toHaveBeenCalledWith ( expect . any ( Y . Doc ) , record ) ;
378381
379382 // Verify a save operation occurred.
380- expect ( mockHandlers . editRecord ) . toHaveBeenCalledTimes ( 1 ) ;
381- expect ( mockHandlers . editRecord ) . toHaveBeenCalledWith ( {
382- meta : {
383- [ WORDPRESS_META_KEY_FOR_CRDT_DOC_PERSISTENCE ] :
384- expect . any ( String ) ,
385- } ,
386- } ) ;
387383 expect ( mockHandlers . saveRecord ) . toHaveBeenCalledTimes ( 1 ) ;
388384 } ) ;
389385
@@ -425,12 +421,9 @@ describe( 'SyncManager', () => {
425421 mockSyncConfig . getChangesFromCRDTDoc
426422 ) . not . toHaveBeenCalled ( ) ;
427423
428- // Verify a save operation occurred.
429- expect ( mockHandlers . editRecord ) . toHaveBeenCalledTimes ( 1 ) ;
430- expect ( mockHandlers . editRecord ) . toHaveBeenCalledWith ( {
431- meta : { } ,
432- } ) ;
433- expect ( mockHandlers . saveRecord ) . toHaveBeenCalledTimes ( 1 ) ;
424+ // Verify that meta was not added and no save operation occurred.
425+ expect ( mockHandlers . editRecord ) . not . toHaveBeenCalled ( ) ;
426+ expect ( mockHandlers . saveRecord ) . not . toHaveBeenCalled ( ) ;
434427 } ) ;
435428 } ) ;
436429 } ) ;
@@ -523,19 +516,6 @@ describe( 'SyncManager', () => {
523516
524517 describe ( 'update' , ( ) => {
525518 it ( 'updates CRDT document with local changes' , async ( ) => {
526- // Capture the Y.Doc from provider creator
527- let capturedDoc : Y . Doc | null = null ;
528- mockProviderCreator . mockImplementation (
529- async (
530- _objectType : string ,
531- _objectId : string ,
532- ydoc : Y . Doc
533- ) => {
534- capturedDoc = ydoc ;
535- return mockProviderResult ;
536- }
537- ) ;
538-
539519 const manager = createSyncManager ( ) ;
540520
541521 await manager . load (
@@ -576,19 +556,6 @@ describe( 'SyncManager', () => {
576556 } ) ;
577557
578558 it ( 'applies changes with specified origin' , async ( ) => {
579- // Capture the Y.Doc from provider creator
580- let capturedDoc : Y . Doc | null = null ;
581- mockProviderCreator . mockImplementation (
582- async (
583- _objectType : string ,
584- _objectId : string ,
585- ydoc : Y . Doc
586- ) => {
587- capturedDoc = ydoc ;
588- return mockProviderResult ;
589- }
590- ) ;
591-
592559 const manager = createSyncManager ( ) ;
593560
594561 await manager . load (
@@ -620,19 +587,6 @@ describe( 'SyncManager', () => {
620587 } ) ;
621588
622589 it ( 'updates the record metadata when the update is associated with a save' , async ( ) => {
623- // Capture the Y.Doc from provider creator.
624- let capturedDoc : Y . Doc | null = null ;
625- mockProviderCreator . mockImplementation (
626- async (
627- _objectType : string ,
628- _objectId : string ,
629- ydoc : Y . Doc
630- ) => {
631- capturedDoc = ydoc ;
632- return mockProviderResult ;
633- }
634- ) ;
635-
636590 const manager = createSyncManager ( ) ;
637591
638592 await manager . load (
@@ -668,19 +622,6 @@ describe( 'SyncManager', () => {
668622
669623 describe ( 'CRDT doc observation' , ( ) => {
670624 it ( 'edits the local entity record when remote updates arrive' , async ( ) => {
671- // Capture the Y.Doc from provider creator.
672- let capturedDoc : Y . Doc | null = null ;
673- mockProviderCreator . mockImplementation (
674- async (
675- _objectType : string ,
676- _objectId : string ,
677- ydoc : Y . Doc
678- ) => {
679- capturedDoc = ydoc ;
680- return mockProviderResult ;
681- }
682- ) ;
683-
684625 const manager = createSyncManager ( ) ;
685626
686627 await manager . load (
@@ -717,19 +658,6 @@ describe( 'SyncManager', () => {
717658 } ) ;
718659
719660 it ( 'does not edit the local record for local transactions' , async ( ) => {
720- // Capture the Y.Doc from provider creator.
721- let capturedDoc : Y . Doc | null = null ;
722- mockProviderCreator . mockImplementation (
723- async (
724- _objectType : string ,
725- _objectId : string ,
726- ydoc : Y . Doc
727- ) => {
728- capturedDoc = ydoc ;
729- return mockProviderResult ;
730- }
731- ) ;
732-
733661 const manager = createSyncManager ( ) ;
734662
735663 await manager . load (
0 commit comments