Spaces:
Running
Running
// _ _ | |
// __ _____ __ ___ ___ __ _| |_ ___ | |
// \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ | |
// \ V V / __/ (_| |\ V /| | (_| | || __/ | |
// \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| | |
// | |
// Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. | |
// | |
// CONTACT: [email protected] | |
// | |
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) | |
}) | |
}) | |
} | |
} | |