@@ -497,6 +497,167 @@ describe('completer.completer', function () {
497497 } ) ;
498498
499499 context ( 'when context is aggregation query' , function ( ) {
500+ it ( 'returns all suggestions' , async function ( ) {
501+ const i = 'db.shipwrecks.aggregate([{' ;
502+ expect ( await completer ( standalone440 , i ) ) . to . deep . equal ( [
503+ [
504+ 'db.shipwrecks.aggregate([{$abs' ,
505+ 'db.shipwrecks.aggregate([{$accumulator' ,
506+ 'db.shipwrecks.aggregate([{$add' ,
507+ 'db.shipwrecks.aggregate([{$allElementsTrue' ,
508+ 'db.shipwrecks.aggregate([{$and' ,
509+ 'db.shipwrecks.aggregate([{$anyElementTrue' ,
510+ 'db.shipwrecks.aggregate([{$arrayElemAt' ,
511+ 'db.shipwrecks.aggregate([{$arrayToObject' ,
512+ 'db.shipwrecks.aggregate([{$binarySize' ,
513+ 'db.shipwrecks.aggregate([{$bsonSize' ,
514+ 'db.shipwrecks.aggregate([{$ceil' ,
515+ 'db.shipwrecks.aggregate([{$cmp' ,
516+ 'db.shipwrecks.aggregate([{$concat' ,
517+ 'db.shipwrecks.aggregate([{$concatArrays' ,
518+ 'db.shipwrecks.aggregate([{$cond' ,
519+ 'db.shipwrecks.aggregate([{$dateFromParts' ,
520+ 'db.shipwrecks.aggregate([{$dateFromString' ,
521+ 'db.shipwrecks.aggregate([{$dateToParts' ,
522+ 'db.shipwrecks.aggregate([{$dateToString' ,
523+ 'db.shipwrecks.aggregate([{$dayOfMonth' ,
524+ 'db.shipwrecks.aggregate([{$dayOfWeek' ,
525+ 'db.shipwrecks.aggregate([{$dayOfYear' ,
526+ 'db.shipwrecks.aggregate([{$dateToString' ,
527+ 'db.shipwrecks.aggregate([{$divide' ,
528+ 'db.shipwrecks.aggregate([{$eq' ,
529+ 'db.shipwrecks.aggregate([{$exp' ,
530+ 'db.shipwrecks.aggregate([{$filter' ,
531+ 'db.shipwrecks.aggregate([{$first' ,
532+ 'db.shipwrecks.aggregate([{$floor' ,
533+ 'db.shipwrecks.aggregate([{$function' ,
534+ 'db.shipwrecks.aggregate([{$gt' ,
535+ 'db.shipwrecks.aggregate([{$gte' ,
536+ 'db.shipwrecks.aggregate([{$hour' ,
537+ 'db.shipwrecks.aggregate([{$ifNull' ,
538+ 'db.shipwrecks.aggregate([{$in' ,
539+ 'db.shipwrecks.aggregate([{$indexOfArray' ,
540+ 'db.shipwrecks.aggregate([{$indexOfBytes' ,
541+ 'db.shipwrecks.aggregate([{$indexOfCP' ,
542+ 'db.shipwrecks.aggregate([{$isArray' ,
543+ 'db.shipwrecks.aggregate([{$isNumber' ,
544+ 'db.shipwrecks.aggregate([{$isoDayOfWeek' ,
545+ 'db.shipwrecks.aggregate([{$isoWeek' ,
546+ 'db.shipwrecks.aggregate([{$isoWeekYear' ,
547+ 'db.shipwrecks.aggregate([{$last' ,
548+ 'db.shipwrecks.aggregate([{$let' ,
549+ 'db.shipwrecks.aggregate([{$literal' ,
550+ 'db.shipwrecks.aggregate([{$lt' ,
551+ 'db.shipwrecks.aggregate([{$lt' ,
552+ 'db.shipwrecks.aggregate([{$ln' ,
553+ 'db.shipwrecks.aggregate([{$log' ,
554+ 'db.shipwrecks.aggregate([{$log10' ,
555+ 'db.shipwrecks.aggregate([{$map' ,
556+ 'db.shipwrecks.aggregate([{$mergeObjects' ,
557+ 'db.shipwrecks.aggregate([{$meta' ,
558+ 'db.shipwrecks.aggregate([{$millisecond' ,
559+ 'db.shipwrecks.aggregate([{$minute' ,
560+ 'db.shipwrecks.aggregate([{$mod' ,
561+ 'db.shipwrecks.aggregate([{$month' ,
562+ 'db.shipwrecks.aggregate([{$multiply' ,
563+ 'db.shipwrecks.aggregate([{$new' ,
564+ 'db.shipwrecks.aggregate([{$not' ,
565+ 'db.shipwrecks.aggregate([{$objectToArray' ,
566+ 'db.shipwrecks.aggregate([{$or' ,
567+ 'db.shipwrecks.aggregate([{$pow' ,
568+ 'db.shipwrecks.aggregate([{$range' ,
569+ 'db.shipwrecks.aggregate([{$reduce' ,
570+ 'db.shipwrecks.aggregate([{$regexFind' ,
571+ 'db.shipwrecks.aggregate([{$regexFindAll' ,
572+ 'db.shipwrecks.aggregate([{$regexMatch' ,
573+ 'db.shipwrecks.aggregate([{$replaceAll' ,
574+ 'db.shipwrecks.aggregate([{$replaceOne' ,
575+ 'db.shipwrecks.aggregate([{$reverseArray' ,
576+ 'db.shipwrecks.aggregate([{$second' ,
577+ 'db.shipwrecks.aggregate([{$setDifference' ,
578+ 'db.shipwrecks.aggregate([{$setEquals' ,
579+ 'db.shipwrecks.aggregate([{$setIntersection' ,
580+ 'db.shipwrecks.aggregate([{$setIsSubset' ,
581+ 'db.shipwrecks.aggregate([{$setUnion' ,
582+ 'db.shipwrecks.aggregate([{$size' ,
583+ 'db.shipwrecks.aggregate([{$slice' ,
584+ 'db.shipwrecks.aggregate([{$split' ,
585+ 'db.shipwrecks.aggregate([{$sqrt' ,
586+ 'db.shipwrecks.aggregate([{$strcasecmp' ,
587+ 'db.shipwrecks.aggregate([{$strLenBytes' ,
588+ 'db.shipwrecks.aggregate([{$strLenCP' ,
589+ 'db.shipwrecks.aggregate([{$substr' ,
590+ 'db.shipwrecks.aggregate([{$substrBytes' ,
591+ 'db.shipwrecks.aggregate([{$substrCP' ,
592+ 'db.shipwrecks.aggregate([{$subtract' ,
593+ 'db.shipwrecks.aggregate([{$switch' ,
594+ 'db.shipwrecks.aggregate([{$toHashedIndexKey' ,
595+ 'db.shipwrecks.aggregate([{$toLower' ,
596+ 'db.shipwrecks.aggregate([{$toUpper' ,
597+ 'db.shipwrecks.aggregate([{$trunc' ,
598+ 'db.shipwrecks.aggregate([{$type' ,
599+ 'db.shipwrecks.aggregate([{$week' ,
600+ 'db.shipwrecks.aggregate([{$year' ,
601+ 'db.shipwrecks.aggregate([{$zip' ,
602+ 'db.shipwrecks.aggregate([{$convert' ,
603+ 'db.shipwrecks.aggregate([{$ltrim' ,
604+ 'db.shipwrecks.aggregate([{$rtrim' ,
605+ 'db.shipwrecks.aggregate([{$toBool' ,
606+ 'db.shipwrecks.aggregate([{$toDate' ,
607+ 'db.shipwrecks.aggregate([{$toDecimal' ,
608+ 'db.shipwrecks.aggregate([{$toDouble' ,
609+ 'db.shipwrecks.aggregate([{$toInt' ,
610+ 'db.shipwrecks.aggregate([{$toLong' ,
611+ 'db.shipwrecks.aggregate([{$toObjectId' ,
612+ 'db.shipwrecks.aggregate([{$toString' ,
613+ 'db.shipwrecks.aggregate([{$trim' ,
614+ 'db.shipwrecks.aggregate([{Code' ,
615+ 'db.shipwrecks.aggregate([{ObjectId' ,
616+ 'db.shipwrecks.aggregate([{Binary' ,
617+ 'db.shipwrecks.aggregate([{DBRef' ,
618+ 'db.shipwrecks.aggregate([{Timestamp' ,
619+ 'db.shipwrecks.aggregate([{NumberInt' ,
620+ 'db.shipwrecks.aggregate([{NumberLong' ,
621+ 'db.shipwrecks.aggregate([{NumberDecimal' ,
622+ 'db.shipwrecks.aggregate([{MaxKey' ,
623+ 'db.shipwrecks.aggregate([{MinKey' ,
624+ 'db.shipwrecks.aggregate([{ISODate' ,
625+ 'db.shipwrecks.aggregate([{RegExp' ,
626+ 'db.shipwrecks.aggregate([{$addFields' ,
627+ 'db.shipwrecks.aggregate([{$bucket' ,
628+ 'db.shipwrecks.aggregate([{$bucketAuto' ,
629+ 'db.shipwrecks.aggregate([{$changeStream' ,
630+ 'db.shipwrecks.aggregate([{$collStats' ,
631+ 'db.shipwrecks.aggregate([{$count' ,
632+ 'db.shipwrecks.aggregate([{$currentOp' ,
633+ 'db.shipwrecks.aggregate([{$facet' ,
634+ 'db.shipwrecks.aggregate([{$geoNear' ,
635+ 'db.shipwrecks.aggregate([{$graphLookup' ,
636+ 'db.shipwrecks.aggregate([{$group' ,
637+ 'db.shipwrecks.aggregate([{$indexStats' ,
638+ 'db.shipwrecks.aggregate([{$limit' ,
639+ 'db.shipwrecks.aggregate([{$listLocalSessions' ,
640+ 'db.shipwrecks.aggregate([{$lookup' ,
641+ 'db.shipwrecks.aggregate([{$match' ,
642+ 'db.shipwrecks.aggregate([{$merge' ,
643+ 'db.shipwrecks.aggregate([{$out' ,
644+ 'db.shipwrecks.aggregate([{$project' ,
645+ 'db.shipwrecks.aggregate([{$redact' ,
646+ 'db.shipwrecks.aggregate([{$replaceRoot' ,
647+ 'db.shipwrecks.aggregate([{$replaceWith' ,
648+ 'db.shipwrecks.aggregate([{$sample' ,
649+ 'db.shipwrecks.aggregate([{$set' ,
650+ 'db.shipwrecks.aggregate([{$skip' ,
651+ 'db.shipwrecks.aggregate([{$sort' ,
652+ 'db.shipwrecks.aggregate([{$sortByCount' ,
653+ 'db.shipwrecks.aggregate([{$unionWith' ,
654+ 'db.shipwrecks.aggregate([{$unset' ,
655+ 'db.shipwrecks.aggregate([{$unwind' ,
656+ ] ,
657+ i ,
658+ ] ) ;
659+ } ) ;
660+
500661 it ( 'has several matches' , async function ( ) {
501662 const i = 'db.shipwrecks.aggregate([ { $so' ;
502663 expect ( await completer ( standalone440 , i ) ) . to . deep . equal ( [
0 commit comments