Exemple #1
0
        public void NoErrors_RegistersPropertly()
        {
            var provider     = new DefaultScalarTypeProvider();
            var mockResolver = new Mock <IScalarValueResolver>();

            var mock = new Mock <IScalarGraphType>();

            mock.Setup(x => x.Name).Returns("MyCustomType");
            mock.Setup(x => x.Description).Returns(null as string);
            mock.Setup(x => x.ObjectType).Returns(typeof(CustomScalarTypeRegistrationTests));
            mock.Setup(x => x.OtherKnownTypes).Returns(TypeCollection.Empty);
            mock.Setup(x => x.Kind).Returns(TypeKind.SCALAR);
            mock.Setup(x => x.SourceResolver).Returns(mockResolver.Object);
            mock.Setup(x => x.ValueType).Returns(ScalarValueType.String);

            provider.RegisterCustomScalar(mock.Object);

            Assert.IsTrue(provider.IsScalar("MyCustomType"));
            Assert.IsTrue(provider.IsScalar(typeof(CustomScalarTypeRegistrationTests)));

            var foundScalar = provider.RetrieveScalar("MyCustomType");

            Assert.AreEqual(mock.Object, foundScalar);

            foundScalar = provider.RetrieveScalar(typeof(CustomScalarTypeRegistrationTests));
            Assert.AreEqual(mock.Object, foundScalar);

            var concrceteType = provider.RetrieveConcreteType("MyCustomType");

            Assert.AreEqual(typeof(CustomScalarTypeRegistrationTests), concrceteType);
        }
Exemple #2
0
        public void IsLeaf_NullType_IsFalse()
        {
            var provider = new DefaultScalarTypeProvider();

            var result = provider.IsLeaf(null);

            Assert.IsFalse(result);
        }
Exemple #3
0
        private ISchema CreateSchema()
        {
            var builder        = new TestServerBuilder();
            var defaultScalars = new DefaultScalarTypeProvider();

            foreach (var scalarConcreteType in defaultScalars.ConcreteTypes)
            {
                builder.AddGraphType(scalarConcreteType);
            }

            builder.AddGraphType(typeof(TestEnum));
            return(builder.Build().Schema);
        }
Exemple #4
0
        public void Enumerator_Check()
        {
            var provider = new DefaultScalarTypeProvider();

            var i = 0;

            foreach (var scalarType in provider)
            {
                i++;
            }

            Assert.AreNotEqual(0, i);
        }
Exemple #5
0
        public void InUseName_ThrowsException()
        {
            var provider     = new DefaultScalarTypeProvider();
            var mockResolver = new Mock <IScalarValueResolver>();

            var mock = new Mock <IScalarGraphType>();

            mock.Setup(x => x.Name).Returns(Constants.ScalarNames.INT);
            mock.Setup(x => x.Description).Returns(null as string);
            mock.Setup(x => x.ObjectType).Returns(typeof(CustomScalarTypeRegistrationTests));
            mock.Setup(x => x.OtherKnownTypes).Returns(TypeCollection.Empty);
            mock.Setup(x => x.Kind).Returns(TypeKind.SCALAR);
            mock.Setup(x => x.SourceResolver).Returns(mockResolver.Object);

            Assert.Throws <GraphTypeDeclarationException>(() =>
            {
                provider.RegisterCustomScalar(mock.Object);
            });
        }
Exemple #6
0
        public void OtherObjectTypeAlreadyRegisteredScalar_ThrowsException()
        {
            var provider     = new DefaultScalarTypeProvider();
            var mockResolver = new Mock <IScalarValueResolver>();

            var mock = new Mock <IScalarGraphType>();

            mock.Setup(x => x.Name).Returns("NewInt");
            mock.Setup(x => x.Description).Returns(null as string);
            mock.Setup(x => x.ValueType).Returns(ScalarValueType.String);
            mock.Setup(x => x.ObjectType).Returns(typeof(CustomScalarTypeRegistrationTests));
            mock.Setup(x => x.OtherKnownTypes).Returns(new TypeCollection(typeof(int)));
            mock.Setup(x => x.Kind).Returns(TypeKind.SCALAR);
            mock.Setup(x => x.SourceResolver).Returns(mockResolver.Object);

            Assert.Throws <GraphTypeDeclarationException>(() =>
            {
                provider.RegisterCustomScalar(mock.Object);
            });
        }
Exemple #7
0
        public void NoTypeSupplied_ThrowsException()
        {
            var provider     = new DefaultScalarTypeProvider();
            var mockResolver = new Mock <IScalarValueResolver>();

            var mock = new Mock <IScalarGraphType>();

            mock.Setup(x => x.Name).Returns("MyScalar");
            mock.Setup(x => x.Description).Returns(null as string);
            mock.Setup(x => x.ObjectType).Returns(null as Type);
            mock.Setup(x => x.ValueType).Returns(ScalarValueType.String);
            mock.Setup(x => x.OtherKnownTypes).Returns(TypeCollection.Empty);
            mock.Setup(x => x.Kind).Returns(TypeKind.SCALAR);
            mock.Setup(x => x.SourceResolver).Returns(mockResolver.Object);

            Assert.Throws <GraphTypeDeclarationException>(() =>
            {
                provider.RegisterCustomScalar(mock.Object);
            });
        }