@@ -170,14 +170,19 @@ describe('#integration-rx navigation', () => {
170170 60000
171171 )
172172
173- it (
174- 'should fail on result when closed' ,
175- ( ) =>
176- shouldFailOnResultWhenClosed ( protocolVersion , session , ( ) =>
177- session . close ( )
178- ) ,
179- 60000
180- )
173+ getObservableSelectors ( ) . forEach ( ( [ observableName , observableSelector ] ) => {
174+ it (
175+ `${ observableName } should fail on result when closed` ,
176+ ( ) =>
177+ shouldFailOnResultWhenClosed (
178+ protocolVersion ,
179+ session ,
180+ observableSelector ,
181+ ( ) => session . close ( )
182+ ) ,
183+ 60000
184+ )
185+ } )
181186 } )
182187
183188 describe ( 'transaction' , ( ) => {
@@ -340,21 +345,33 @@ describe('#integration-rx navigation', () => {
340345 60000
341346 )
342347
343- it (
344- 'should fail on result when committed' ,
345- ( ) =>
346- shouldFailOnResultWhenClosed ( protocolVersion , txc , ( ) => txc . commit ( ) ) ,
347- 60000
348- )
348+ getObservableSelectors ( ) . forEach ( ( [ observableName , observableSelector ] ) => {
349+ it (
350+ `${ observableName } should fail on result when committed` ,
351+ ( ) =>
352+ shouldFailOnResultWhenClosed (
353+ protocolVersion ,
354+ txc ,
355+ observableSelector ,
356+ ( ) => txc . commit ( )
357+ ) ,
358+ 60000
359+ )
360+ } )
349361
350- it (
351- 'should fail on result when rolled back' ,
352- ( ) =>
353- shouldFailOnResultWhenClosed ( protocolVersion , txc , ( ) =>
354- txc . rollback ( )
355- ) ,
356- 60000
357- )
362+ getObservableSelectors ( ) . forEach ( ( [ observableName , observableSelector ] ) => {
363+ it (
364+ `${ observableName } should fail on result when rolled back` ,
365+ ( ) =>
366+ shouldFailOnResultWhenClosed (
367+ protocolVersion ,
368+ txc ,
369+ observableSelector ,
370+ ( ) => txc . rollback ( )
371+ ) ,
372+ 60000
373+ )
374+ } )
358375 } )
359376
360377 /**
@@ -762,14 +779,24 @@ describe('#integration-rx navigation', () => {
762779 await collectAndAssertError ( result . consume ( ) , expectedError )
763780 }
764781
782+ function getObservableSelectors ( ) {
783+ return [
784+ [ 'consume' , r => r . consume ( ) ] ,
785+ [ 'keys' , r => r . keys ( ) ] ,
786+ [ 'records' , r => r . records ( ) ]
787+ ]
788+ }
789+
765790 /**
766791 * @param {number } protocolVersion
767792 * @param {RxSession|RxTransaction } runnable
793+ * @param {function(RxSession|RxTransaction):Observable<any> } selectObservable
768794 * @param {function(): Observable } closeFunc
769795 */
770796 async function shouldFailOnResultWhenClosed (
771797 protocolVersion ,
772798 runnable ,
799+ selectObservable ,
773800 closeFunc
774801 ) {
775802 if ( protocolVersion < 4.0 ) {
@@ -782,9 +809,7 @@ describe('#integration-rx navigation', () => {
782809 const expectedError = jasmine . objectContaining ( {
783810 message : jasmine . stringMatching ( / C a n n o t r u n q u e r y / )
784811 } )
785- await collectAndAssertError ( result . keys ( ) , expectedError )
786- await collectAndAssertError ( result . records ( ) , expectedError )
787- await collectAndAssertError ( result . consume ( ) , expectedError )
812+ await collectAndAssertError ( selectObservable ( result ) , expectedError )
788813 }
789814
790815 async function collectAndAssertKeys ( result ) {
0 commit comments