aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDanail Dimitrov <danaildimitrov321@gmail.com>2021-03-18 21:32:29 +0200
committerDanail Dimitrov <danaildimitrov321@gmail.com>2021-03-18 21:32:29 +0200
commit3b1200b7622cff65d56ae63cdfc074b19a822e75 (patch)
treee0e2592b61302a3103cc4db70a71e14a58081dbc /src
parent2ff126026556b6ca652d4a8aab187844799f206b (diff)
downloadDevHive-3b1200b7622cff65d56ae63cdfc074b19a822e75.tar
DevHive-3b1200b7622cff65d56ae63cdfc074b19a822e75.tar.gz
DevHive-3b1200b7622cff65d56ae63cdfc074b19a822e75.zip
Adding test for untested methods in FeedRepository
Diffstat (limited to 'src')
-rw-r--r--src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs69
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
}
}