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)); }
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)); }
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); }