public void ShouldAddNestedFieldWithNameAsPascalCase(string fieldName)
        {
            var builder = new ContentTypeQueryResourceBuilder("someContentType");

            builder.WithNestedField(fieldName);

            Assert.Equal("someContentType { someNestedField {} }", builder.Build());
        }
        public void ShouldbeAbleToAddStringArgument()
        {
            var builder = new ContentTypeQueryResourceBuilder("someContentType");

            builder.WithQueryStringArgument("arg", "a string");

            Assert.Equal("someContentType(arg: \"a string\") {}", builder.Build());
        }
        public void ShouldbeAbleToAddArgument()
        {
            var builder = new ContentTypeQueryResourceBuilder("someContentType");

            builder.WithQueryArgument("arg", "1");

            Assert.Equal("someContentType(arg: 1) {}", builder.Build());
        }
        public void ShouldbeAbleToAddMultiInputArgument()
        {
            var builder = new ContentTypeQueryResourceBuilder("someContentType");

            builder.WithQueryArgument("arg", "a", "1");
            builder.WithQueryArgument("arg", "b", "2");

            Assert.Equal("someContentType(arg:{a: 1, b: 2}) {}", builder.Build());
        }
        public void ShouldbeAbleToCombineNonNestedAndNestedFields()
        {
            var builder = new ContentTypeQueryResourceBuilder("someContentType");

            builder.WithField("field");
            builder.WithNestedField("nestedField").WithField("nestedChild");

            Assert.Equal("someContentType { field nestedField { nestedChild } }", builder.Build());
        }
        public void ShouldbeAbleToAddMultipleNestedFields()
        {
            var builder = new ContentTypeQueryResourceBuilder("someContentType");

            builder.WithField("field");
            builder.WithNestedField("nestedField").WithField("nestedChild");
            builder.WithNestedField("nestedField2").WithField("nestedChild2");

            Assert.Equal("someContentType { field nestedField { nestedChild } nestedField2 { nestedChild2 } }", builder.Build());
        }