@@ -170,14 +170,19 @@ describe('#integration-rx navigation', () => {
170
170
60000
171
171
)
172
172
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
+ } )
181
186
} )
182
187
183
188
describe ( 'transaction' , ( ) => {
@@ -340,21 +345,33 @@ describe('#integration-rx navigation', () => {
340
345
60000
341
346
)
342
347
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
+ } )
349
361
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
+ } )
358
375
} )
359
376
360
377
/**
@@ -762,14 +779,24 @@ describe('#integration-rx navigation', () => {
762
779
await collectAndAssertError ( result . consume ( ) , expectedError )
763
780
}
764
781
782
+ function getObservableSelectors ( ) {
783
+ return [
784
+ [ 'consume' , r => r . consume ( ) ] ,
785
+ [ 'keys' , r => r . keys ( ) ] ,
786
+ [ 'records' , r => r . records ( ) ]
787
+ ]
788
+ }
789
+
765
790
/**
766
791
* @param {number } protocolVersion
767
792
* @param {RxSession|RxTransaction } runnable
793
+ * @param {function(RxSession|RxTransaction):Observable<any> } selectObservable
768
794
* @param {function(): Observable } closeFunc
769
795
*/
770
796
async function shouldFailOnResultWhenClosed (
771
797
protocolVersion ,
772
798
runnable ,
799
+ selectObservable ,
773
800
closeFunc
774
801
) {
775
802
if ( protocolVersion < 4.0 ) {
@@ -782,9 +809,7 @@ describe('#integration-rx navigation', () => {
782
809
const expectedError = jasmine . objectContaining ( {
783
810
message : jasmine . stringMatching ( / C a n n o t r u n q u e r y / )
784
811
} )
785
- await collectAndAssertError ( result . keys ( ) , expectedError )
786
- await collectAndAssertError ( result . records ( ) , expectedError )
787
- await collectAndAssertError ( result . consume ( ) , expectedError )
812
+ await collectAndAssertError ( selectObservable ( result ) , expectedError )
788
813
}
789
814
790
815
async function collectAndAssertKeys ( result ) {
0 commit comments