From 3b1200b7622cff65d56ae63cdfc074b19a822e75 Mon Sep 17 00:00:00 2001 From: Danail Dimitrov Date: Thu, 18 Mar 2021 21:32:29 +0200 Subject: Adding test for untested methods in FeedRepository --- .../DevHive.Data.Tests/FeedRepository.Tests.cs | 69 +++++++++++++++++----- 1 file changed, 54 insertions(+), 15 deletions(-) (limited to 'src/Data/DevHive.Data.Tests') diff --git a/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs b/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs index f54e89d..5d66bfc 100644 --- a/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs @@ -11,6 +11,9 @@ namespace DevHive.Data.Tests [TestFixture] public class FeedRepositoryTests { + private const int PAGE_NUMBER = 1; + private const int PAGE_SIZE = 10; + private DevHiveContext _context; private FeedRepository _feedRepository; @@ -37,45 +40,66 @@ namespace DevHive.Data.Tests [Test] public async Task GetFriendsPosts_ReturnsListOfPosts_WhenTheyExist() { - User dummyUser = CreateDummyUser(); + User dummyUser = this.CreateDummyUser(); + dummyUser.Posts = await this.CreateDummyPosts(dummyUser); List friendsList = new() { dummyUser }; - DateTime dateTime = new(3000, 05, 09, 9, 15, 0); - Console.WriteLine(dateTime.ToFileTime()); - - const int PAGE_NUMBER = 1; - const int PAGE_SIZE = 10; + DateTime dateTime = DateTime.Now; List resultList = await this._feedRepository.GetFriendsPosts(friendsList, dateTime, PAGE_NUMBER, PAGE_SIZE); - Assert.GreaterOrEqual(2, resultList.Count, "GetFriendsPosts does not return all correct posts"); + Assert.GreaterOrEqual(resultList.Count, dummyUser.Posts.Count, "GetFriendsPosts does not return the posts corrtrectly"); } [Test] - public async Task GetFriendsPosts_ReturnsNull_WhenNoSuitablePostsExist() + public async Task GetFriendsPosts_ReturnsEmptyList_WhenNoSuitablePostsExist() { - User dummyUser = CreateDummyUser(); + User dummyUser = this.CreateDummyUser(); List friendsList = new() { dummyUser }; - DateTime dateTime = new(3000, 05, 09, 9, 15, 0); - - const int PAGE_NUMBER = 1; - const int PAGE_SIZE = 10; + DateTime dateTime = DateTime.Now; List resultList = await this._feedRepository.GetFriendsPosts(friendsList, dateTime, PAGE_NUMBER, PAGE_SIZE); - Assert.LessOrEqual(0, resultList.Count, "GetFriendsPosts does not return all correct posts"); + Assert.LessOrEqual(resultList.Count, 0, "GetFriendsPosts does not return all correct posts"); + } + #endregion + + #region GetUsersPosts + [Test] + public async Task GetUsersPosts_ReturnsAllPostsOfTheUser_IfAnyExist() + { + User dummyUser = this.CreateDummyUser(); + HashSet posts = await this.CreateDummyPosts(dummyUser); + + DateTime dateTime = DateTime.Now; + + List resultList = await this._feedRepository.GetUsersPosts(dummyUser, dateTime, PAGE_NUMBER, PAGE_SIZE); + + Assert.GreaterOrEqual(resultList.Count, posts.Count, "GetUsersPosts does not return the posts corrtrectly"); + } + + [Test] + public async Task GetUsersPosts_ReturnsEmptyList_WhenNoSuitablePostsExist() + { + User dummyUser = this.CreateDummyUser(); + + DateTime dateTime = DateTime.Now; + + List resultList = await this._feedRepository.GetUsersPosts(dummyUser, dateTime, PAGE_NUMBER, PAGE_SIZE); + + Assert.LessOrEqual(resultList.Count, 0, "GetUsersPosts does not return empty list when no suitable posts exist"); } #endregion #region HelperMethods - private static User CreateDummyUser() + private User CreateDummyUser() { HashSet roles = new() { @@ -96,6 +120,21 @@ namespace DevHive.Data.Tests Roles = roles }; } + + private async Task> CreateDummyPosts(User user) + { + HashSet posts = new HashSet + { + new Post { Creator = user, TimeCreated = DateTime.Now }, + new Post{ Creator = user, TimeCreated = DateTime.Now }, + new Post{ Creator = user, TimeCreated = DateTime.Now } + }; + + await this._context.Posts.AddRangeAsync(posts); + await this._context.SaveChangesAsync(); + + return posts; + } #endregion } } -- cgit v1.2.3