Skip to content

Commit d779b0a

Browse files
committed
fix deserializer tests
1 parent 78b0ee7 commit d779b0a

File tree

2 files changed

+3
-8
lines changed

2 files changed

+3
-8
lines changed

src/JsonApiDotNetCore/Serialization/JsonApiDeSerializer.cs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -283,13 +283,8 @@ private object SetHasManyRelationship(object entity,
283283

284284
if (relationships.TryGetValue(relationshipName, out RelationshipData relationshipData))
285285
{
286-
if(relationshipData.IsHasMany == false) {
287-
throw new JsonApiException(400, $"Cannot set HasMany relationship '{attr.PublicRelationshipName}'. Value must be a JSON array of Resource Identifier Objects.");
288-
}
289-
290-
var data = (List<ResourceIdentifierObject>)relationshipData.ExposedData;
291-
292-
if (data == null) return entity;
286+
if(relationshipData.IsHasMany == false || relationshipData.ManyData == null)
287+
return entity;
293288

294289
var relatedResources = relationshipData.ManyData.Select(r =>
295290
{

test/JsonApiDotNetCoreExampleTests/Acceptance/TodoItemsControllerTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,10 +301,10 @@ public async Task Can_Get_TodoItem_WithOwner()
301301
// Act
302302
var response = await _fixture.Client.SendAsync(request);
303303
var body = await response.Content.ReadAsStringAsync();
304-
var deserializedBody = (TodoItem)_fixture.GetService<IJsonApiDeSerializer>().Deserialize(body);
305304

306305
// Assert
307306
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
307+
var deserializedBody = (TodoItem)_fixture.GetService<IJsonApiDeSerializer>().Deserialize(body);
308308
Assert.Equal(person.Id, deserializedBody.OwnerId);
309309
Assert.Equal(todoItem.Id, deserializedBody.Id);
310310
Assert.Equal(todoItem.Description, deserializedBody.Description);

0 commit comments

Comments
 (0)