public async Task GetDiscussionTest() { RelatedDataSet dataSetA = new RelatedDataSet("JimmyJimerson", "ab10101010", "Theory"); GlobalModels.Discussion inputGMDiscussion = BusinessLogic.Mapper.RepoDiscussionToDiscussion(dataSetA.Discussion, dataSetA.Topic); GlobalModels.Discussion outputGMDiscussion; // Seed the test database using (var context = new Repository.Models.Cinephiliacs_DbContext(dbOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); var newDiscussion = new GlobalModels.NewDiscussion(inputGMDiscussion); RepoLogic repoLogic = new RepoLogic(context); // Add Database entries for the object-under-test's foreign keys await repoLogic.AddUser(dataSetA.User); await repoLogic.AddMovie(dataSetA.Movie.MovieId); await repoLogic.AddTopic(dataSetA.Topic); // Test CreateDiscussion() IForumLogic forumLogic = new ForumLogic(repoLogic); ForumController forumController = new ForumController(forumLogic); await forumController.CreateDiscussion(newDiscussion); } using (var context = new Repository.Models.Cinephiliacs_DbContext(dbOptions)) { RepoLogic repoLogic = new RepoLogic(context); // Test GetDiscussions() IForumLogic forumLogic = new ForumLogic(repoLogic); ForumController forumController = new ForumController(forumLogic); outputGMDiscussion = (await forumController.GetDiscussion(dataSetA.Discussion.DiscussionId)).Value; } Assert.Equal(inputGMDiscussion, outputGMDiscussion); }