예제 #1
0
        public void Coerce_InputObject_NonNullFieldIsNull()
        {
            // arrange
            var       variables = new Mock <IVariableCollection>();
            ISchema   schema    = CreateSchema();
            FieldNode fieldNode = CreateField("foo(a: {  a: { } })");
            var       selection = FieldSelection.Create(
                fieldNode,
                schema.QueryType.Fields["foo"],
                "foo");
            var path = Path.New("bar");

            // act
            Action action = () =>
                            ArgumentValueBuilder.CoerceArgumentValues(
                selection, variables.Object, path);

            // assert
            Assert.Throws <QueryException>(action).Errors.MatchSnapshot();
        }
예제 #2
0
        public void Coerce_NonNullString_ToAbc()
        {
            // arrange
            var       variables = new Mock <IVariableCollection>();
            ISchema   schema    = CreateSchema();
            FieldNode fieldNode = CreateField("bar(a: \"abc\")");
            var       selection = FieldSelection.Create(
                fieldNode,
                schema.QueryType.Fields["bar"],
                "bar");
            var path = Path.New("bar");

            // act
            Dictionary <string, ArgumentValue> arguments =
                ArgumentValueBuilder.CoerceArgumentValues(
                    selection, variables.Object, path);

            // assert
            MatchSnapshot(arguments);
        }