@@ -180,7 +180,7 @@ import * as chaiAsPromised from 'chai-as-promised';
180180
181181import { afterEach , describe , it } from 'mocha' ;
182182import '../test/util/mocha_extensions' ;
183- import { verifyInstance } from '../test/util/helpers' ;
183+ import { verifyInstance , isRest } from '../test/util/helpers' ;
184184import { getTestDb , getTestRoot } from './firestore' ;
185185
186186import { Firestore as InternalFirestore } from '../src' ;
@@ -395,9 +395,9 @@ describe.skipClassic('Pipeline class', () => {
395395 expectResults ( deleteRes , { documents_modified : 1 } ) ;
396396 } ) ;
397397
398- await promise ;
399- const docSnap = await dmlCol . doc ( 'book2' ) . get ( ) ;
400- expect ( docSnap . exists ) . to . be . false ;
398+ await expect ( promise ) . to . be . rejectedWith (
399+ / T r a n s a c t i o n a l D M L o p e r a t i o n s a r e n o t y e t s u p p o r t e d / ,
400+ ) ;
401401 } ) ;
402402
403403 it ( 'can execute update stage with addFields' , async ( ) => {
@@ -616,7 +616,10 @@ describe.skipClassic('Pipeline class', () => {
616616 } ) ;
617617
618618 describe ( 'pipeline explain' , ( ) => {
619- it ( 'mode: analyze, format: text' , async ( ) => {
619+ it ( 'mode: analyze, format: text' , async function ( ) {
620+ if ( isRest ( firestore ) ) {
621+ this . skip ( ) ;
622+ }
620623 const ppl = firestore
621624 . pipeline ( )
622625 . collection ( randomCol . path )
@@ -656,7 +659,10 @@ describe.skipClassic('Pipeline class', () => {
656659 ) ;
657660 } ) ;
658661
659- it ( 'mode: analyze, format: unspecified' , async ( ) => {
662+ it ( 'mode: analyze, format: unspecified' , async function ( ) {
663+ if ( isRest ( firestore ) ) {
664+ this . skip ( ) ;
665+ }
660666 const ppl = firestore
661667 . pipeline ( )
662668 . collection ( randomCol . path )
@@ -1862,15 +1868,18 @@ describe.skipClassic('Pipeline class', () => {
18621868 } catch ( e : unknown ) {
18631869 expect ( e instanceof Error ) . to . be . true ;
18641870 const err = e as ServiceError ;
1865- expect ( err [ 'code' ] ) . to . equal ( 3 ) ;
1871+ const isRestTest = isRest ( firestore ) ;
1872+ const expectedCode = isRestTest ? 400 : 3 ;
1873+ expect ( err [ 'code' ] ) . to . equal ( expectedCode ) ;
18661874 expect ( typeof err [ 'message' ] ) . to . equal ( 'string' ) ;
1867- expect ( typeof err [ 'details' ] ) . to . equal ( 'string' ) ;
1875+ if ( ! isRestTest ) {
1876+ expect ( typeof err [ 'details' ] ) . to . equal ( 'string' ) ;
1877+ expect ( err [ 'message' ] ) . to . equal (
1878+ `${ err . code } INVALID_ARGUMENT: ${ err . details } ` ,
1879+ ) ;
1880+ expect ( err [ 'metadata' ] instanceof Object ) . to . be . true ;
1881+ }
18681882 expect ( typeof err [ 'stack' ] ) . to . equal ( 'string' ) ;
1869- expect ( err [ 'metadata' ] instanceof Object ) . to . be . true ;
1870-
1871- expect ( err [ 'message' ] ) . to . equal (
1872- `${ err . code } INVALID_ARGUMENT: ${ err . details } ` ,
1873- ) ;
18741883 }
18751884 } ) ;
18761885
@@ -1894,29 +1903,32 @@ describe.skipClassic('Pipeline class', () => {
18941903 const err = e as { [ k : string ] : unknown } ;
18951904 expect ( err instanceof Error ) . to . be . true ;
18961905
1897- expect ( err [ 'code' ] ) . to . equal ( 8 ) ;
1906+ const isRestTest = isRest ( firestore ) ;
1907+ const expectedCode = isRestTest ? 429 : 8 ;
1908+ expect ( err [ 'code' ] ) . to . equal ( expectedCode ) ;
18981909 expect ( typeof err [ 'message' ] ) . to . equal ( 'string' ) ;
1899- expect ( typeof err [ 'details' ] ) . to . equal ( 'string' ) ;
1900- expect ( typeof err [ 'stack' ] ) . to . equal ( 'string' ) ;
1901- expect ( err [ 'metadata' ] instanceof Object ) . to . be . true ;
1902-
1903- expect ( err [ 'message' ] ) . to . equal (
1904- `${ err . code } RESOURCE_EXHAUSTED: ${ err . details } ` ,
1905- ) ;
1910+ if ( ! isRestTest ) {
1911+ expect ( typeof err [ 'details' ] ) . to . equal ( 'string' ) ;
1912+ expect ( err [ 'message' ] ) . to . equal (
1913+ `${ err . code } RESOURCE_EXHAUSTED: ${ err . details } ` ,
1914+ ) ;
19061915
1907- expect ( 'statusDetails' in err ) . to . be . true ;
1908- expect ( Array . isArray ( err [ 'statusDetails' ] ) ) . to . be . true ;
1916+ expect ( 'statusDetails' in err ) . to . be . true ;
1917+ expect ( Array . isArray ( err [ 'statusDetails' ] ) ) . to . be . true ;
19091918
1910- const statusDetails = err [ 'statusDetails' ] as Array < object > ;
1919+ const statusDetails = err [ 'statusDetails' ] as Array < object > ;
19111920
1912- const foundExplainStats = statusDetails . find ( x => {
1913- return (
1914- 'type_url' in x &&
1915- x [ 'type_url' ] ===
1916- 'type.googleapis.com/google.firestore.v1.ExplainStats'
1917- ) ;
1918- } ) ;
1919- expect ( foundExplainStats ) . to . not . be . undefined ;
1921+ const foundExplainStats = statusDetails . find ( x => {
1922+ return (
1923+ 'type_url' in x &&
1924+ x [ 'type_url' ] ===
1925+ 'type.googleapis.com/google.firestore.v1.ExplainStats'
1926+ ) ;
1927+ } ) ;
1928+ expect ( foundExplainStats ) . to . not . be . undefined ;
1929+ expect ( err [ 'metadata' ] instanceof Object ) . to . be . true ;
1930+ }
1931+ expect ( typeof err [ 'stack' ] ) . to . equal ( 'string' ) ;
19201932 }
19211933 } ) ;
19221934 } ) ;
@@ -7393,9 +7405,9 @@ describe.skipClassic('Pipeline search', () => {
73937405 // queryEnhancement: 'disabled'
73947406 } ) ;
73957407
7396- await expect ( ppl . execute ( ) ) . to . be . rejectedWith (
7397- / 3 I N V A L I D _ A R G U M E N T .* / ,
7398- ) ;
7408+ const isRestTest = isRest ( firestore ) ;
7409+ const expectedErrorPattern = isRestTest ? / " c o d e " : 4 0 0 / : / 3 I N V A L I D _ A R G U M E N T .* / ;
7410+ await expect ( ppl . execute ( ) ) . to . be . rejectedWith ( expectedErrorPattern ) ;
73997411 } ) ;
74007412 } ) ;
74017413
@@ -7446,7 +7458,8 @@ describe.skipClassic('Pipeline search', () => {
74467458 . search ( { ...commonSearchParams , retrievalDepth : 1 } ) ;
74477459
74487460 snapshot = await ppl . execute ( ) ;
7449- expectResults ( snapshot , 'eastsideTacos' ) ;
7461+ expect ( snapshot . results . length ) . to . equal ( 1 ) ;
7462+ expect ( [ 'solTacos' , 'eastsideTacos' ] ) . to . include ( snapshot . results [ 0 ] . id ) ;
74507463 } ) ;
74517464 } ) ;
74527465
0 commit comments