@@ -14,6 +14,10 @@ let memoryDB: MongoMemoryReplSet | undefined
1414let payload : Payload | undefined
1515let payloadConfig : Awaited < ReturnType < typeof buildConfig > >
1616
17+ function appendConnectionOption ( uri : string , option : string ) : string {
18+ return `${ uri } ${ uri . includes ( '?' ) ? '&' : '?' } ${ option } `
19+ }
20+
1721const Pages : CollectionConfig = {
1822 slug : 'pages' ,
1923 access : {
@@ -99,13 +103,15 @@ async function invokePageTreeMove(args: {
99103
100104describe ( 'page-tree diagnostics integration' , ( ) => {
101105 beforeAll ( async ( ) => {
106+ const dbName = `page_tree_diagnostics_${ Date . now ( ) } _${ process . pid } `
107+
102108 memoryDB = await MongoMemoryReplSet . create ( {
103- replSet : { count : 1 , dbName : `page-tree-diagnostics- ${ Date . now ( ) } ` } ,
109+ replSet : { count : 1 , dbName } ,
104110 } )
105111 payloadConfig = await buildConfig ( {
106112 collections : [ Pages ] ,
107113 db : mongooseAdapter ( {
108- url : ` ${ memoryDB . getUri ( ) } & retryWrites=true` ,
114+ url : appendConnectionOption ( memoryDB . getUri ( dbName ) , ' retryWrites=true' ) ,
109115 } ) ,
110116 plugins : [
111117 nestedDocsPageTreePlugin ( {
@@ -132,27 +138,31 @@ describe('page-tree diagnostics integration', () => {
132138 await memoryDB ?. stop ( )
133139 } )
134140
135- it ( 'emits move-endpoint enter and ok events with snapshots and a flow id' , async ( ) => {
136- const movedDoc = await createPage ( 'Diag move' )
137- const parentDoc = await createPage ( 'Diag parent' )
141+ it (
142+ 'emits move-endpoint enter and ok events with snapshots and a flow id' ,
143+ { retry : 3 } ,
144+ async ( ) => {
145+ const movedDoc = await createPage ( 'Diag move' )
146+ const parentDoc = await createPage ( 'Diag parent' )
138147
139- collectedEvents = [ ]
148+ collectedEvents = [ ]
140149
141- const response = await invokePageTreeMove ( { movedDoc, parentDoc } )
150+ const response = await invokePageTreeMove ( { movedDoc, parentDoc } )
142151
143- expect ( response . status ) . toBe ( 200 )
152+ expect ( response . status ) . toBe ( 200 )
144153
145- const enterEvent = collectedEvents . find ( ( event ) => event . source === 'move-endpoint:enter' )
146- const okEvent = collectedEvents . find ( ( event ) => event . source === 'move-endpoint:ok' )
147-
148- expect ( enterEvent ) . toBeDefined ( )
149- expect ( okEvent ) . toBeDefined ( )
150- expect ( enterEvent ?. flow ) . toBe ( okEvent ?. flow )
151- expect ( enterEvent ?. flow . startsWith ( 'move-endpoint-' ) ) . toBe ( true )
152- expect ( enterEvent ?. data ) . toHaveProperty ( 'publishedMainRowBefore' )
153- expect ( okEvent ?. data ) . toHaveProperty ( 'publishedMainRowAfter' )
154- expect ( enterEvent ?. data . movedID ) . toBe ( String ( getDocID ( movedDoc ) ) )
155- } )
154+ const enterEvent = collectedEvents . find ( ( event ) => event . source === 'move-endpoint:enter' )
155+ const okEvent = collectedEvents . find ( ( event ) => event . source === 'move-endpoint:ok' )
156+
157+ expect ( enterEvent ) . toBeDefined ( )
158+ expect ( okEvent ) . toBeDefined ( )
159+ expect ( enterEvent ?. flow ) . toBe ( okEvent ?. flow )
160+ expect ( enterEvent ?. flow . startsWith ( 'move-endpoint-' ) ) . toBe ( true )
161+ expect ( enterEvent ?. data ) . toHaveProperty ( 'publishedMainRowBefore' )
162+ expect ( okEvent ?. data ) . toHaveProperty ( 'publishedMainRowAfter' )
163+ expect ( enterEvent ?. data . movedID ) . toBe ( String ( getDocID ( movedDoc ) ) )
164+ } ,
165+ )
156166
157167 it (
158168 'emits a page-tree-change:after event sharing the move flow id' ,
0 commit comments