Пример #1
0
        public void BasicInputExample_Works()
        {
            var schemaGenerator = new SchemaGenerator(new MockServiceProvider());
            var schema          = schemaGenerator.CreateSchema(typeof(GenericsSchema));

            var query = @"
                {
                    echoGenerics(
                        int1:{data:2}
                        string1:{data:""test""},
                    )
                    {data}
                }
            ";

            var expected = @"{
              echoGenerics: {
                data: ""2test""
              }
            }";

            GraphAssert.QuerySuccess(schema, query, expected);
        }
Пример #2
0
        public void GetTimeZoneOffset_IsSafe()
        {
            var schemaGenerator = new SchemaGenerator(new MockServiceProvider());
            var schema          = schemaGenerator.CreateSchema(typeof(DateSchema));

            var query = @"
                {dates(dates:{offset:""2013-07-02T09:00:00-06:00"", dateTime:""2013-07-02T09:00-06:00""}) {
                  offset
                  dateTime
                  dateUTC
                }}
            ";

            var expected = @"{
              dates: {
                offset:""2013-07-02T09:00:00-06:00"",
                dateTime:""2013-07-02T09:00:00-06:00"",
                dateUTC:""2013-07-02T15:00:00Z""
              }
            }";

            GraphAssert.QuerySuccess(schema, query, expected);
        }
Пример #3
0
        public void AdvancedExample_WithEnums_Works()
        {
            var schemaGenerator = new SchemaGenerator(new MockServiceProvider());
            var schema          = schemaGenerator.CreateSchema(typeof(EchoStateSchema));

            var query = @"
                mutation SetState{
                    set (request:{state:Open, data:2}){
                        state
                        data
                    }
                }
            ";

            var expected = @"{
              set: {
                state: ""Open"",
                data: 2
              }
            }";

            GraphAssert.QuerySuccess(schema, query, expected);
        }
Пример #4
0
        public void SetAdvancedString_WithStringParam_Works(string var1, string var2)
        {
            var schemaGenerator = new SchemaGenerator(new MockServiceProvider());
            var schema          = schemaGenerator.CreateSchema(typeof(EchoStateSchema));

            var query = @"
                mutation SetState($str:" + var1 + @", $str2:" + var2 + @"){
                    set:setAdvancedString(request:{requiredString:$str, notRequiredString:$str2}){
                        requiredString
                        notRequiredString
                    }
                }
            ";

            var expected = @"{
              set: {
                requiredString:""Yes"",
                notRequiredString: """"
              }
            }";

            GraphAssert.QuerySuccess(schema, query, expected, "{str:\"Yes\", str2:\"\"}");
        }
Пример #5
0
        public void SetAdvanced_WithSameQuery_WorksBackwardsCompatible()
        {
            var schemaGenerator = new SchemaGenerator(new MockServiceProvider());
            var schema          = schemaGenerator.CreateSchema(typeof(EchoStateSchema));

            var query = @"
                mutation SetState{
                    set:setAdvanced(request:{decimal:24.15, data:2}){
                        data
                        state
                    }
                }
            ";

            var expected = @"{
              set: {
                data: 2,
                state: ""Open""
              }
            }";

            GraphAssert.QuerySuccess(schema, query, expected);
        }
Пример #6
0
        public void GetNullDecimalAsVariable_IsSafe()
        {
            var schemaGenerator = new SchemaGenerator(new MockServiceProvider());
            var schema          = schemaGenerator.CreateSchema(typeof(EchoSchema));

            var query = @"
                query($ts:Decimal!)
                {
                    testRequest(request:{decimal:$ts}){decimalValue}
                }                
            ";

            var variables = @"{
                ts:1.23
            }";

            var expected = @"{
              testRequest: {
                decimalValue:1.23
              }
            }";

            GraphAssert.QuerySuccess(schema, query, expected, variables);
        }