fix error message when a go string-query fails to parse

This commit is contained in:
Ben Kraft
2021-04-05 17:48:34 -07:00
parent d880512499
commit 6404ba0e58
4 changed files with 33 additions and 2 deletions
+22 -1
View File
@@ -8,7 +8,10 @@ import (
"github.com/vektah/gqlparser/v2/ast"
)
var parseDataDir = "testdata/parsing"
var (
parseDataDir = "testdata/parsing"
parseErrorsDir = "testdata/parsing-errors"
)
func sortQueries(queryDoc *ast.QueryDocument) {
sort.Slice(queryDoc.Operations, func(i, j int) bool {
@@ -61,3 +64,21 @@ func TestParse(t *testing.T) {
})
}
}
// TestParseErrors tests that query-extraction from different language source files
// produces appropriate errors if your query is invalid.
func TestParseErrors(t *testing.T) {
extensions := []string{"graphql", "go"}
for _, ext := range extensions {
t.Run(ext, func(t *testing.T) {
g, err := getQueries(
parseErrorsDir,
[]string{filepath.Join(parseErrorsDir, "*."+ext)})
if err == nil {
t.Errorf("expected error from getQueries(*.%v)", ext)
t.Logf("%#v", g)
}
})
}
}