diff options
| author | Danail Dimitrov <danaildimitrov321@gmail.com> | 2021-03-18 21:32:29 +0200 |
|---|---|---|
| committer | Danail Dimitrov <danaildimitrov321@gmail.com> | 2021-03-18 21:32:29 +0200 |
| commit | 3b1200b7622cff65d56ae63cdfc074b19a822e75 (patch) | |
| tree | e0e2592b61302a3103cc4db70a71e14a58081dbc /src/Data | |
| parent | 2ff126026556b6ca652d4a8aab187844799f206b (diff) | |
| download | DevHive-3b1200b7622cff65d56ae63cdfc074b19a822e75.tar DevHive-3b1200b7622cff65d56ae63cdfc074b19a822e75.tar.gz DevHive-3b1200b7622cff65d56ae63cdfc074b19a822e75.zip | |
Adding test for untested methods in FeedRepository
Diffstat (limited to 'src/Data')
| -rw-r--r-- | src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs | 69 |
1 files changed, 54 insertions, 15 deletions
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<User> 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<Post> 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<User> 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<Post> 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<Post> posts = await this.CreateDummyPosts(dummyUser); + + DateTime dateTime = DateTime.Now; + + List<Post> 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<Post> 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<Role> roles = new() { @@ -96,6 +120,21 @@ namespace DevHive.Data.Tests Roles = roles }; } + + private async Task<HashSet<Post>> CreateDummyPosts(User user) + { + HashSet<Post> posts = new HashSet<Post> + { + 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 } } |
