Exemple #1
0
        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"]);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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"]);
        }