public void GetPostLogs_ShouldReturnSuccess() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- NewsRelease post = TestData.CreateDbPost(); context.NewsRelease.Add(post); post.NewsReleaseLog = TestData.CreateDbPostLogs(post); var expectedLogEntry = post.NewsReleaseLog.FirstOrDefault(); var expectedCount = post.NewsReleaseLog.Count; context.SaveChanges(); //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- var result = controller.GetPostLogs(post.Key) as ObjectResult; //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- result.Should().BeOfType(typeof(OkObjectResult), "because the read operation should go smoothly"); var actual = result.Value as IEnumerable <Models.PostLog>; var actualLogEntry = actual.FirstOrDefault(); actual.Count().Should().Be(expectedCount); actualLogEntry.PostKey.Should().Be(expectedLogEntry.Release.Key); actualLogEntry.Description.Should().Be(expectedLogEntry.Description); }
public void GetPostLogs_ShouldReturnSuccess() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- NewsRelease post = TestData.CreateDbPost(); context.NewsRelease.Add(post); // line 52 caused the test to fail after the update to EF core 3.0 // post.NewsReleaseLog = TestData.CreateDbPostLogs(post); // lines 54 to 56 replace the problematic line 52 by saving the logs before adding them to the parent post var logs = TestData.CreateDbPostLogs(post); context.AddRange(logs); context.SaveChanges(); post.NewsReleaseLog = logs; var expectedLogEntry = post.NewsReleaseLog.FirstOrDefault(); var expectedCount = post.NewsReleaseLog.Count; context.SaveChanges(); //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- var result = controller.GetPostLogs(post.Key) as ObjectResult; //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- result.Should().BeOfType(typeof(OkObjectResult), "because the read operation should go smoothly"); var actual = result.Value as IEnumerable <Models.PostLog>; var actualLogEntry = actual.FirstOrDefault(); actual.Count().Should().Be(expectedCount); actualLogEntry.PostKey.Should().Be(expectedLogEntry.Release.Key); actualLogEntry.Description.Should().Be(expectedLogEntry.Description); }