Skip to content

Commit 94608cd

Browse files
author
Chris Santero
committed
add some tests for EF materializer
1 parent 7b01416 commit 94608cd

2 files changed

Lines changed: 52 additions & 0 deletions

File tree

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
using System.Threading.Tasks;
2+
using FluentAssertions;
3+
using JSONAPI.Core;
4+
using JSONAPI.EntityFramework.Tests.TestWebApp.Models;
5+
using Microsoft.VisualStudio.TestTools.UnitTesting;
6+
using Moq;
7+
8+
namespace JSONAPI.EntityFramework.Tests
9+
{
10+
[TestClass]
11+
public class EntityFrameworkMaterializerTests
12+
{
13+
[TestMethod]
14+
public async Task Includes_one_to_many_navigation_properties_that_were_serialized()
15+
{
16+
using (var conn = TestHelpers.GetEffortConnection("Acceptance/Data"))
17+
{
18+
using (var context = new TestDbContext(conn, false))
19+
{
20+
var metadataManager = new Mock<IMetadataManager>();
21+
var materializer = new EntityFrameworkMaterializer(context, metadataManager.Object);
22+
23+
var ephemeral = new Post { Id = "201" };
24+
var material = (Post)await materializer.MaterializeAsync(typeof (Post), ephemeral);
25+
26+
material.Comments.Should().NotBeNull();
27+
material.Comments.Count.Should().Be(3);
28+
}
29+
}
30+
}
31+
32+
[TestMethod]
33+
public async Task Includes_many_to_many_navigation_properties_that_were_serialized()
34+
{
35+
using (var conn = TestHelpers.GetEffortConnection("Acceptance/Data"))
36+
{
37+
using (var context = new TestDbContext(conn, false))
38+
{
39+
var metadataManager = new Mock<IMetadataManager>();
40+
var materializer = new EntityFrameworkMaterializer(context, metadataManager.Object);
41+
42+
var ephemeral = new Post { Id = "201" };
43+
var material = (Post)await materializer.MaterializeAsync(typeof(Post), ephemeral);
44+
45+
material.Tags.Should().NotBeNull();
46+
material.Tags.Count.Should().Be(2);
47+
}
48+
}
49+
}
50+
}
51+
}

JSONAPI.EntityFramework.Tests/JSONAPI.EntityFramework.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@
117117
<Compile Include="Acceptance\SortingTests.cs" />
118118
<Compile Include="ActionFilters\AsynchronousEnumerationTransformerTests.cs" />
119119
<Compile Include="DbContextExtensionsTests.cs" />
120+
<Compile Include="EntityFrameworkMaterializerTests.cs" />
120121
<Compile Include="Helpers\TestDbAsyncEnumerable.cs" />
121122
<Compile Include="Helpers\WaitsUntilCancellationDbAsyncEnumerator.cs" />
122123
<Compile Include="Helpers\TestDbAsyncEnumerator.cs" />

0 commit comments

Comments
 (0)