public void QueryWithNonNullVariableAndDefaultWhereValueIsNull() { // arrange Schema schema = CreateSchema(); OperationDefinitionNode operation = CreateQuery( "query test($test: String! = \"foo\") { a }"); Dictionary <string, IValueNode> variableValues = new Dictionary <string, IValueNode>(); // act VariableValueResolver resolver = new VariableValueResolver(); Dictionary <string, object> coercedVariableValues = resolver.CoerceVariableValues(schema, operation, variableValues); // assert Assert.True(coercedVariableValues.ContainsKey("test")); Assert.IsType <string>(coercedVariableValues["test"]); Assert.Equal("foo", coercedVariableValues["test"]); }
public void QueryWithNonNullVariableAndDefaultWhereValueWasNotProvided() { // arrange Schema schema = CreateSchema(); OperationDefinitionNode operation = CreateQuery( "query test($test: String! = \"foo\") { a }"); Dictionary <string, IValueNode> variableValues = new Dictionary <string, IValueNode>(); variableValues.Add("test", new NullValueNode(null)); // act VariableValueResolver resolver = new VariableValueResolver(); Action action = () => resolver.CoerceVariableValues(schema, operation, variableValues); // assert Assert.Throws <QueryException>(action); }
public void QueryWithNullableVariableAndNoDefaultWhereNoValueWasProvided() { // arrange Schema schema = CreateSchema(); OperationDefinitionNode operation = CreateQuery( "query test($test: String) { a }"); Dictionary <string, IValueNode> variableValues = new Dictionary <string, IValueNode>(); variableValues.Add("test", new NullValueNode(null)); // act VariableValueResolver resolver = new VariableValueResolver(); Dictionary <string, object> coercedVariableValues = resolver.CoerceVariableValues(schema, operation, variableValues); // assert Assert.True(coercedVariableValues.ContainsKey("test")); Assert.Equal(null, coercedVariableValues["test"]); }