public async Task GetFollowingCountMethodShouldCountFollowingUsersPosts() { var guid = Guid.NewGuid().ToString(); var options = new DbContextOptionsBuilder <ForumDbContext>() .UseInMemoryDatabase(guid) .Options; var db = new ForumDbContext(options); var dateTimeProvider = new Mock <IDateTimeProvider>(); dateTimeProvider.Setup(dtp => dtp.Now()).Returns(new DateTime(2020, 3, 27)); var users = new List <ForumUser> { new ForumUser { Id = guid, UserName = "******", Email = "*****@*****.**", BirthDate = dateTimeProvider.Object.Now(), CreatedOn = dateTimeProvider.Object.Now() }, new ForumUser { Id = "123", UserName = "******", Email = "*****@*****.**", BirthDate = dateTimeProvider.Object.Now(), CreatedOn = dateTimeProvider.Object.Now() } }; var posts = new List <Post> { new Post { Id = 1, Title = "Test title 1", Description = "Test description 1", Type = PostType.Discussion, CategoryId = 1, AuthorId = guid, CreatedOn = dateTimeProvider.Object.Now() }, new Post { Id = 2, Title = "Test title 2", Description = "Test description 2", Type = PostType.Discussion, CategoryId = 2, AuthorId = guid, CreatedOn = dateTimeProvider.Object.Now() } }; var userFollower = new UserFollower { User = users[0], Follower = users[1] }; await db.Users.AddRangeAsync(users); await db.Posts.AddRangeAsync(posts); await db.UsersFollowers.AddAsync(userFollower); await db.SaveChangesAsync(); var postsService = new PostsService(db, null, null, dateTimeProvider.Object); var count = await postsService.GetFollowingCountAsync("123"); count.Should().Be(posts.Count); }