spec/graphql/query/literal_input_spec.rb in graphql-1.6.3 vs spec/graphql/query/literal_input_spec.rb in graphql-1.6.4

- old
+ new

@@ -18,10 +18,23 @@ arg + ctx[:val] end end resolve ->(t, a, c) { a[:value] } end + + field :fieldWithArgumentThatIsBadByDefault do + type types.Int + argument :value do + type types.Int + default_value 7 + prepare ->(arg, ctx) do + GraphQL::ExecutionError.new("Always bad") + end + end + + resolve ->(*args) { 42 } + end end GraphQL::Schema.define(query: query) } @@ -31,9 +44,14 @@ end it "prepares default values" do result = schema.execute("{ addToArgumentValue }", context: { val: 4 }) assert_equal(7, result["data"]["addToArgumentValue"]) + end + + it "raises an execution error if the default value is bad" do + result = schema.execute("{ fieldWithArgumentThatIsBadByDefault }", context: { }) + assert_equal(result["errors"], [{"message" => "Always bad"}]) end it "prepares values from variables" do result = schema.execute("query ($value: Int!) { addToArgumentValue(value: $value) }", variables: { "value" => 1}, context: { val: 2 } ) assert_equal(result["data"]["addToArgumentValue"], 3)