Spaces:
Sleeping
Sleeping
| // _ _ | |
| // __ _____ __ ___ ___ __ _| |_ ___ | |
| // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ | |
| // \ V V / __/ (_| |\ V /| | (_| | || __/ | |
| // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| | |
| // | |
| // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. | |
| // | |
| // CONTACT: hello@weaviate.io | |
| // | |
| package test | |
| import ( | |
| "os" | |
| "testing" | |
| "github.com/stretchr/testify/assert" | |
| "github.com/weaviate/weaviate/entities/models" | |
| "github.com/weaviate/weaviate/test/helper" | |
| graphqlhelper "github.com/weaviate/weaviate/test/helper/graphql" | |
| "github.com/weaviate/weaviate/test/helper/sample-schema/books" | |
| ) | |
| func Test_SUMTransformers(t *testing.T) { | |
| helper.SetupClient(os.Getenv(weaviateEndpoint)) | |
| tests := []struct { | |
| name string | |
| class *models.Class | |
| }{ | |
| { | |
| name: "with module config for sum-transformers module", | |
| class: books.ClassContextionaryVectorizerWithSumTransformers(), | |
| }, | |
| { | |
| name: "without module config", | |
| class: books.ClassContextionaryVectorizer(), | |
| }, | |
| } | |
| for _, tt := range tests { | |
| t.Run(tt.name, func(t *testing.T) { | |
| booksClass := tt.class | |
| helper.CreateClass(t, booksClass) | |
| defer helper.DeleteClass(t, booksClass.Class) | |
| t.Run("add data to Books schema", func(t *testing.T) { | |
| for _, book := range books.Objects() { | |
| helper.CreateObject(t, book) | |
| helper.AssertGetObjectEventually(t, book.Class, book.ID) | |
| } | |
| }) | |
| t.Run("query Books data with nearText", func(t *testing.T) { | |
| result := graphqlhelper.AssertGraphQL(t, helper.RootAuth, ` | |
| { | |
| Get { | |
| Books(where: { | |
| operator: Equal | |
| path:["title"] | |
| valueText: "Dune" | |
| }){ | |
| title | |
| _additional { | |
| summary (properties:["description"]) { | |
| property | |
| result | |
| } | |
| } | |
| } | |
| } | |
| } | |
| `) | |
| books := result.Get("Get", "Books").AsSlice() | |
| expected := []interface{}{ | |
| map[string]interface{}{ | |
| "title": "Dune", | |
| "_additional": map[string]interface{}{ | |
| "summary": []interface{}{ | |
| map[string]interface{}{ | |
| "property": "description", | |
| "result": "Dune is a 1965 epic science fiction novel by American author Frank Herbert." + | |
| "It is the first novel in the Dune series by Frank Herbert, and the first in the \"Dune\" series of books." + | |
| "It was published in the United States by Simon & Schuster in 1965.", | |
| }, | |
| }, | |
| }, | |
| }, | |
| } | |
| assert.ElementsMatch(t, expected, books) | |
| }) | |
| }) | |
| } | |
| } | |