@@ -66,6 +66,24 @@ describe('utils', function () {
6666 expect ( searchMeta . length ) . to . be . equal ( 1 ) ;
6767 } ) ;
6868
69+ it ( 'returns $search stage for a view' , function ( ) {
70+ const search = filterStageOperators ( {
71+ ...filter ,
72+ sourceName : 'simple.sample' ,
73+ } ) . filter ( ( o ) => o . name === '$search' ) ;
74+
75+ expect ( search . length ) . to . be . equal ( 1 ) ;
76+ } ) ;
77+
78+ it ( 'returns $searchMeta stage for a view' , function ( ) {
79+ const searchMeta = filterStageOperators ( {
80+ ...filter ,
81+ sourceName : 'simple.sample' ,
82+ } ) . filter ( ( o ) => o . name === '$searchMeta' ) ;
83+
84+ expect ( searchMeta . length ) . to . be . equal ( 1 ) ;
85+ } ) ;
86+
6987 // $documents only works for db.aggregate, not coll.aggregate
7088 it ( 'does not return $documents stage for a regular collection' , function ( ) {
7189 const documents = filterStageOperators ( { ...filter } ) . filter (
@@ -97,17 +115,6 @@ describe('utils', function () {
97115
98116 expect ( searchStages . length ) . to . be . equal ( 0 ) ;
99117 } ) ;
100-
101- it ( 'does not return full-text search stages for views' , function ( ) {
102- const searchStages = filterStageOperators ( {
103- ...filter ,
104- sourceName : 'simple.sample' ,
105- } ) . filter ( ( o ) =>
106- [ '$search' , '$searchMeta' , '$documents' ] . includes ( o . name )
107- ) ;
108-
109- expect ( searchStages . length ) . to . be . equal ( 0 ) ;
110- } ) ;
111118 } ) ;
112119
113120 context ( 'when on-prem' , function ( ) {
0 commit comments