Beispiel #1
0
        public void ResourceWithRequiredRelationshipsToResourceObject_EmptyResourceWhileRelationshipIncluded_ThrowsNotSupportedException()
        {
            // Arrange
            var resource      = new OneToOneRequiredDependent();
            var relationships = _resourceGraph.GetRelationships <OneToOneRequiredDependent>(tr => tr.Principal);

            // Act & assert
            Assert.ThrowsAny <NotSupportedException>(() => _builder.Build(resource, relationships: relationships));
        }
Beispiel #2
0
        public void ResourceWithRequiredRelationshipsToResourceObject_DeviatingForeignKeyAndNoNavigationWhileRelationshipIncluded_ThrowsNotSupportedException()
        {
            // Arrange
            var resource = new OneToOneRequiredDependent {
                Principal = null, PrincipalId = 123
            };
            var relationships = _resourceGraph.GetRelationships <OneToOneRequiredDependent>(tr => tr.Principal);

            // Act & assert
            Assert.ThrowsAny <NotSupportedException>(() => _builder.Build(resource, relationships: relationships));
        }
Beispiel #3
0
        public void ResourceWithRequiredRelationshipsToResourceObject_DeviatingForeignKeyWhileRelationshipIncluded_IgnoresForeignKeyDuringBuild()
        {
            // Arrange
            var resource = new OneToOneRequiredDependent {
                Principal = new OneToOnePrincipal {
                    Id = 10
                }, PrincipalId = 123
            };
            var relationships = _resourceGraph.GetRelationships <OneToOneRequiredDependent>(tr => tr.Principal);

            // Act
            var resourceObject = _builder.Build(resource, relationships: relationships);

            // Assert
            Assert.Single(resourceObject.Relationships);
            Assert.NotNull(resourceObject.Relationships["principal"].Data);
            var ro = (ResourceIdentifierObject)resourceObject.Relationships["principal"].Data;

            Assert.Equal("10", ro.Id);
        }