summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2024-01-05Fix variable location in objects and listsEugen Wissner
2023-12-28Add a test for the wrong variable locationEugen Wissner
inside an input object for the role checking for unused and undefined variables.
2023-12-21Add a failing test for unused variables bugEugen Wissner
2023-11-08Add a test for the input object coercion issueEugen Wissner
2023-10-13Fix non nullable type representationEugen Wissner
…in executor error messages.
2023-02-24Fix resolvers returning a list in the reverse orderEugen Wissner
2023-01-10Encode input object typesEugen Wissner
2023-01-09Encode enumsEugen Wissner
2023-01-08Encode unionsEugen Wissner
2023-01-02Encode interfaces (2018)Eugen Wissner
2022-12-27Add Semigroup and Monoid instances for DescriptionEugen Wissner
2022-12-25Encode schema definitionsEugen Wissner
2022-12-24Fix GHC 9.2 warnings and deprecationsEugen Wissner
- Fix GHC 9.2 warnings - Convert comments to proper deprecations
2022-10-02Add operation type encoderEugen Wissner
2022-07-02Eliminate non-exhaustive patterns in ExecuteSpecEugen Wissner
2022-07-01Change execute' to shouldResolveTo helper methodEugen Wissner
2022-02-16enhance query errorsDmitrii Skurikhin
2022-02-14add Arbitrary instances for AST.Document, add random arguments Parser testDmitrii Skurikhin
2022-01-09fix empty list argument parsingDmitrii Skurikhin
2022-01-07fix index position in error pathDmitrii Skurikhin
2021-12-24Put JSON support behind a flagEugen Wissner
2021-11-22Move JSON tests to the upcoming extra packageEugen Wissner
2021-09-23Remove raw-strings-qqEugen Wissner
2021-09-22Don't append a trailing newline in gqlEugen Wissner
2021-09-17Test nullability on value completionEugen Wissner
2021-09-03Replace the old executorEugen Wissner
2021-09-02Handle argument locationsEugen Wissner
2021-09-01Adjust value completion testsEugen Wissner
2021-06-27Attach the field location to resolver exceptionsEugen Wissner
2021-06-24Fail with a location for result coercionEugen Wissner
The intermediate representation was further modified so that the operation definitions contain location information. Probably I should introduce a data type that generalizes fields and operations, so it contains object type, location and the selection set, so the functions don't accept so many arguments.
2021-06-22Provide locations for argument errorsEugen Wissner
The executor still doesn't give an error per argument, but a single error per field with locations for all arguments. If a non-null argument isn't specified, only the error location of the field is given. If some arguments cannot be coerced, only the locations of these arguments are given, non-null arguments are ignored. This should still be improved, so the executor returns all errors at once. The transformation tree is changed, so that argument map contains locations of the arguments (but not the locations of the argument values yet).
2021-06-18Fix merging fields with argumentsEugen Wissner
executeField shouldn't assume that a selection has only one field with a given name, but it should take the first field. The underlying cause is a wrong pattern, which (because of the laziness) is executed only if the field has arguments.
2021-06-17Provide location information for interface errorsEugen Wissner
2021-05-13Add constructor with additional schema typesEugen Wissner
2021-05-12Add location information to the intermediate treeEugen Wissner
2021-05-10Deprecate internal error generation functionsEugen Wissner
The functions generating errors in the executor should be changed anyway when we provide better error messages from the executor, with the error location and response path. So public definitions of these functions are deprecated now and they are replaced by more generic functions in the executor code.
2021-05-09Provide an internal function to add errorsEugen Wissner
The old function, addErrMsg, takes only a string with an error description, but more information is required for the execution errors: locations and path. addErrMsg should be deprecated after the switching to the new addError.
2021-05-06Validate non-nullable values inside listsEugen Wissner
2021-04-12Traverse input object properties onceEugen Wissner
2021-03-16Emit list item errors onceEugen Wissner
2021-02-21Fix some issues with directive definitionsBen Sinclair
I found some issues with directive definitions: - I couldn't use `on FIELD_DEFINITION`, I believe because `FIELD` was parsed first in `executableDirectiveLocation`. I've combined both `executableDirectiveLocation` and `typetypeSystemDirectiveLocation` into one function which can reorder them to ensure every directive location gets a fair chance at parsing. Not actually to do with directives, some literals weren't being parsed correctly. - The GraphQL spec defines list to be `[]` or `[Value]`, but empty literal lists weren't being parsed correctly because of using `some` instead of `many`. - The GraphQL spec defines objects to be `{}` or `{Name: Value}`, but empty literal objects had the same issue.
2021-02-19Replace Map with OrderedMapEugen Wissner
2021-02-15traverseMaybe OrderedMapEugen Wissner
2021-02-14Combine value inserted into the OrderedMapEugen Wissner
2021-02-13Add OrderedMap prototypeEugen Wissner
2021-02-06Split validation rule tests in contextsEugen Wissner
2021-02-04Provide custom Show instances for AST valuesEugen Wissner
2021-02-03Validate valuesEugen Wissner
2020-12-26Validate variable usages are allowed in argumentsEugen Wissner
2020-11-19Validate fragment spreads are possibleEugen Wissner