@@ -523,3 +523,58 @@ func TestAggregateQuery_CursorHasResults(t *testing.T) {
523523 })
524524 }
525525}
526+
527+ func TestAggregateQuery_Load (t * testing.T ) {
528+ type fields struct {
529+ Query * redisearch.Query
530+ AggregatePlan redis.Args
531+ Paging * redisearch.Paging
532+ Max int
533+ WithSchema bool
534+ Verbatim bool
535+ WithCursor bool
536+ Cursor * redisearch.Cursor
537+ }
538+ type args struct {
539+ Properties []string
540+ }
541+ tests := []struct {
542+ name string
543+ fields fields
544+ args args
545+ want redis.Args
546+ }{
547+ {"TestAggregateQuery_Load_1" ,
548+ fields {nil , redis.Args {}, nil , 0 , false , false , false , nil },
549+ args {[]string {"field1" }},
550+ redis.Args {"*" , "LOAD" , 1 , "@field1" },
551+ },
552+ {"TestAggregateQuery_Load_2" ,
553+ fields {nil , redis.Args {}, nil , 0 , false , false , false , nil },
554+ args {[]string {"field1" , "field2" , "field3" , "field4" }},
555+ redis.Args {"*" , "LOAD" , 4 , "@field1" , "@field2" , "@field3" , "@field4" },
556+ },
557+ {"TestAggregateQuery_Load_Empty" ,
558+ fields {nil , redis.Args {}, nil , 0 , false , false , false , nil },
559+ args {[]string {}},
560+ redis.Args {"*" },
561+ },
562+ }
563+ for _ , tt := range tests {
564+ t .Run (tt .name , func (t * testing.T ) {
565+ a := & redisearch.AggregateQuery {
566+ Query : tt .fields .Query ,
567+ AggregatePlan : tt .fields .AggregatePlan ,
568+ Paging : tt .fields .Paging ,
569+ Max : tt .fields .Max ,
570+ WithSchema : tt .fields .WithSchema ,
571+ Verbatim : tt .fields .Verbatim ,
572+ WithCursor : tt .fields .WithCursor ,
573+ Cursor : tt .fields .Cursor ,
574+ }
575+ if got := a .Load (tt .args .Properties ).Serialize (); ! reflect .DeepEqual (got , tt .want ) {
576+ t .Errorf ("Load() = %v, want %v" , got , tt .want )
577+ }
578+ })
579+ }
580+ }
0 commit comments