github.com/weaviate/weaviate@v1.24.6/modules/sum-transformers/additional/summary/summary_params_extractor_test.go (about) 1 // _ _ 2 // __ _____ __ ___ ___ __ _| |_ ___ 3 // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ 4 // \ V V / __/ (_| |\ V /| | (_| | || __/ 5 // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| 6 // 7 // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. 8 // 9 // CONTACT: hello@weaviate.io 10 // 11 12 package summary 13 14 import ( 15 "reflect" 16 "testing" 17 18 "github.com/stretchr/testify/assert" 19 "github.com/tailor-inc/graphql/language/ast" 20 ) 21 22 func Test_parseSummaryArguments(t *testing.T) { 23 type args struct { 24 args []*ast.Argument 25 } 26 tests := []struct { 27 name string 28 args args 29 want *Params 30 }{ 31 { 32 name: "Should create with no params", 33 args: args{}, 34 want: &Params{}, 35 }, 36 { 37 name: "Should create with all params", 38 args: args{ 39 args: []*ast.Argument{ 40 createListArg("properties", []string{"prop1", "prop2"}), 41 }, 42 }, 43 want: &Params{ 44 Properties: []string{"prop1", "prop2"}, 45 }, 46 }, 47 } 48 for _, tt := range tests { 49 t.Run(tt.name, func(t *testing.T) { 50 p := &SummaryProvider{} 51 if got := p.parseSummaryArguments(tt.args.args); !reflect.DeepEqual(got, tt.want) { 52 t.Errorf("parseSummaryArguments() = %v, want %v", got, tt.want) 53 } 54 actual := p.parseSummaryArguments(tt.args.args) 55 assert.Equal(t, tt.want, actual) 56 }) 57 } 58 } 59 60 func createListArg(name string, valuesIn []string) *ast.Argument { 61 n := ast.Name{ 62 Value: name, 63 } 64 65 valuesAst := make([]ast.Value, len(valuesIn)) 66 for i, value := range valuesIn { 67 valuesAst[i] = &ast.StringValue{ 68 Kind: "Kind", 69 Value: value, 70 } 71 } 72 vals := ast.ListValue{ 73 Kind: "Kind", 74 Values: valuesAst, 75 } 76 arg := ast.Argument{ 77 Name: ast.NewName(&n), 78 Kind: "Kind", 79 Value: &vals, 80 } 81 a := ast.NewArgument(&arg) 82 return a 83 }