From 98e17766b203734a1817eed94338e2d25f4395f7 Mon Sep 17 00:00:00 2001 From: transtrike Date: Sat, 13 Feb 2021 16:20:18 +0200 Subject: Project Restructure P.1 --- .../DevHive.Data.Tests/CommentRepository.Tests.cs | 99 ------ .../DevHive.Data.Tests/DevHive.Data.Tests.csproj | 25 -- .../DevHive.Data.Tests/FeedRepository.Tests.cs | 119 ------- .../DevHive.Data.Tests/LenguageRepository.Tests.cs | 116 ------- .../DevHive.Data.Tests/PostRepository.Tests.cs | 145 --------- .../DevHive.Data.Tests/RoleRepository.Tests.cs | 119 ------- .../TechnologyRepository.Tests.cs | 118 ------- .../DevHive.Data.Tests/UserRepositoryTests.cs | 350 --------------------- 8 files changed, 1091 deletions(-) delete mode 100644 src/DevHive.Tests/DevHive.Data.Tests/CommentRepository.Tests.cs delete mode 100644 src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj delete mode 100644 src/DevHive.Tests/DevHive.Data.Tests/FeedRepository.Tests.cs delete mode 100644 src/DevHive.Tests/DevHive.Data.Tests/LenguageRepository.Tests.cs delete mode 100644 src/DevHive.Tests/DevHive.Data.Tests/PostRepository.Tests.cs delete mode 100644 src/DevHive.Tests/DevHive.Data.Tests/RoleRepository.Tests.cs delete mode 100644 src/DevHive.Tests/DevHive.Data.Tests/TechnologyRepository.Tests.cs delete mode 100644 src/DevHive.Tests/DevHive.Data.Tests/UserRepositoryTests.cs (limited to 'src/DevHive.Tests/DevHive.Data.Tests') diff --git a/src/DevHive.Tests/DevHive.Data.Tests/CommentRepository.Tests.cs b/src/DevHive.Tests/DevHive.Data.Tests/CommentRepository.Tests.cs deleted file mode 100644 index 9cbb43b..0000000 --- a/src/DevHive.Tests/DevHive.Data.Tests/CommentRepository.Tests.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System; -using System.Threading.Tasks; -using DevHive.Data.Models; -using DevHive.Data.Repositories; -using Microsoft.EntityFrameworkCore; -using NUnit.Framework; - -namespace DevHive.Data.Tests -{ - [TestFixture] - public class CommentRepositoryTests - { - private const string COMMENT_MESSAGE = "Comment message"; - - protected DevHiveContext Context { get; set; } - - protected CommentRepository CommentRepository { get; set; } - - #region Setups - [SetUp] - public void Setup() - { - var optionsBuilder = new DbContextOptionsBuilder() - .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - - this.Context = new DevHiveContext(optionsBuilder.Options); - - CommentRepository = new CommentRepository(Context); - } - - [TearDown] - public void TearDown() - { - this.Context.Database.EnsureDeleted(); - } - #endregion - - #region GetCommentByIssuerAndTimeCreatedAsync - [Test] - public async Task GetCommentByCreatorAndTimeCreatedAsync_ReturnsTheCorrectComment_IfItExists() - { - Comment comment = await this.AddEntity(); - - Comment resultComment = await this.CommentRepository.GetCommentByIssuerAndTimeCreatedAsync(comment.Creator.Id, comment.TimeCreated); - - Assert.AreEqual(comment.Id, resultComment.Id, "GetCommentByIssuerAndTimeCreatedAsync does not return the corect comment when it exists"); - } - - [Test] - public async Task GetPostByCreatorAndTimeCreatedAsync_ReturnsNull_IfThePostDoesNotExist() - { - Comment comment = await this.AddEntity(); - - Comment resultComment = await this.CommentRepository.GetCommentByIssuerAndTimeCreatedAsync(Guid.Empty, DateTime.Now); - - Assert.IsNull(resultComment, "GetCommentByIssuerAndTimeCreatedAsync does not return null when the comment does not exist"); - } - #endregion - - #region DoesCommentExist - [Test] - public async Task DoesCommentExist_ReturnsTrue_WhenTheCommentExists() - { - Comment comment = await this.AddEntity(); - - bool result = await this.CommentRepository.DoesCommentExist(comment.Id); - - Assert.IsTrue(result, "DoesCommentExist does not return true whenm the Comment exists"); - } - - [Test] - public async Task DoesCommentExist_ReturnsFalse_WhenTheCommentDoesNotExist() - { - bool result = await this.CommentRepository.DoesCommentExist(Guid.Empty); - - Assert.IsFalse(result, "DoesCommentExist does not return false whenm the Comment" + - " does not exist"); - } - #endregion - - #region HelperMethods - private async Task AddEntity(string name = COMMENT_MESSAGE) - { - User creator = new User { Id = Guid.NewGuid() }; - Comment comment = new Comment - { - Message = COMMENT_MESSAGE, - Creator = creator, - TimeCreated = DateTime.Now - }; - - this.Context.Comments.Add(comment); - await this.Context.SaveChangesAsync(); - - return comment; - } - #endregion - } -} diff --git a/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj b/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj deleted file mode 100644 index d320450..0000000 --- a/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj +++ /dev/null @@ -1,25 +0,0 @@ - - - - net5.0 - - false - - - - - - - - - - - - - - - - true - latest - - diff --git a/src/DevHive.Tests/DevHive.Data.Tests/FeedRepository.Tests.cs b/src/DevHive.Tests/DevHive.Data.Tests/FeedRepository.Tests.cs deleted file mode 100644 index f134bf3..0000000 --- a/src/DevHive.Tests/DevHive.Data.Tests/FeedRepository.Tests.cs +++ /dev/null @@ -1,119 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using DevHive.Data.Models; -using DevHive.Data.Repositories; -using Microsoft.EntityFrameworkCore; -using NUnit.Framework; - -namespace DevHive.Data.Tests -{ - [TestFixture] - public class FeedRepositoryTests - { - protected DevHiveContext Context { get; set; } - - protected FeedRepository FeedRepository { get; set; } - - #region Setups - [SetUp] - public void Setup() - { - var optionsBuilder = new DbContextOptionsBuilder() - .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - - this.Context = new DevHiveContext(optionsBuilder.Options); - - FeedRepository = new FeedRepository(Context); - } - - [TearDown] - public void TearDown() - { - this.Context.Database.EnsureDeleted(); - } - #endregion - - #region GetFriendsPosts - [Test] - public async Task GetFriendsPosts_ReturnsListOfPosts_WhenTheyExist() - { - User dummyUser = this.CreateDummyUser(); - List friendsList = new List(); - friendsList.Add(dummyUser); - - DateTime dateTime = new DateTime(3000, 05, 09, 9, 15, 0); - Console.WriteLine(dateTime.ToFileTime()); - - Post dummyPost = this.CreateDummyPost(dummyUser); - Post anotherDummnyPost = this.CreateDummyPost(dummyUser); - - const int PAGE_NUMBER = 1; - const int PAGE_SIZE = 10; - - List resultList = await this.FeedRepository.GetFriendsPosts(friendsList, dateTime, PAGE_NUMBER, PAGE_SIZE); - - Assert.GreaterOrEqual(2, resultList.Count, "GetFriendsPosts does not return all correct posts"); - } - - [Test] - public async Task GetFriendsPosts_ReturnsNull_WhenNoSuitablePostsExist() - { - User dummyUser = this.CreateDummyUser(); - List friendsList = new List(); - friendsList.Add(dummyUser); - - DateTime dateTime = new DateTime(3000, 05, 09, 9, 15, 0); - - const int PAGE_NUMBER = 1; - const int PAGE_SIZE = 10; - - List resultList = await this.FeedRepository.GetFriendsPosts(friendsList, dateTime, PAGE_NUMBER, PAGE_SIZE); - - Assert.LessOrEqual(0, resultList.Count, "GetFriendsPosts does not return all correct posts"); - } - #endregion - - #region HelperMethods - private User CreateDummyUser() - { - HashSet roles = new() - { - new Role() - { - Id = Guid.NewGuid(), - Name = Role.DefaultRole - }, - }; - - return new() - { - Id = Guid.NewGuid(), - UserName = "pioneer10", - FirstName = "Spas", - LastName = "Spasov", - Email = "abv@abv.bg", - Roles = roles - }; - } - - private Post CreateDummyPost(User poster) - { - const string POST_MESSAGE = "random message"; - Guid id = Guid.NewGuid(); - Post post = new Post - { - Id = id, - Message = POST_MESSAGE, - Creator = poster, - TimeCreated = new DateTime(2000, 05, 09, 9, 15, 0) - }; - - this.Context.Posts.Add(post); - this.Context.SaveChanges(); - - return post; - } - #endregion - } -} diff --git a/src/DevHive.Tests/DevHive.Data.Tests/LenguageRepository.Tests.cs b/src/DevHive.Tests/DevHive.Data.Tests/LenguageRepository.Tests.cs deleted file mode 100644 index f02a1e4..0000000 --- a/src/DevHive.Tests/DevHive.Data.Tests/LenguageRepository.Tests.cs +++ /dev/null @@ -1,116 +0,0 @@ -using System; -using System.Linq; -using System.Threading.Tasks; -using DevHive.Data.Models; -using DevHive.Data.Repositories; -using Microsoft.EntityFrameworkCore; -using NUnit.Framework; - -namespace DevHive.Data.Tests -{ - [TestFixture] - public class LenguageRepositoryTests - { - private const string LANGUAGE_NAME = "Language test name"; - protected DevHiveContext Context { get; set; } - protected LanguageRepository LanguageRepository { get; set; } - - #region Setups - [SetUp] - public void Setup() - { - var optionsBuilder = new DbContextOptionsBuilder() - .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - - this.Context = new DevHiveContext(optionsBuilder.Options); - - LanguageRepository = new LanguageRepository(Context); - } - - [TearDown] - public void TearDown() - { - this.Context.Database.EnsureDeleted(); - } - #endregion - - #region GetByNameAsync - [Test] - public async Task GetByNameAsync_ReturnsTheCorrectLanguage_IfItExists() - { - await AddEntity(); - - Language language = this.Context.Languages.Where(x => x.Name == LANGUAGE_NAME).ToList().FirstOrDefault(); - - Language languageResult = await this.LanguageRepository.GetByNameAsync(LANGUAGE_NAME); - - Assert.AreEqual(language.Id, languageResult.Id); - } - - [Test] - public async Task GetByNameAsync_ReturnsNull_IfTechnologyDoesNotExists() - { - Language languageResult = await this.LanguageRepository.GetByNameAsync(LANGUAGE_NAME); - - Assert.IsNull(languageResult); - } - #endregion - - #region DoesLanguageExistAsync - [Test] - public async Task DoesLanguageExist_ReturnsTrue_IfIdExists() - { - await AddEntity(); - Language language = this.Context.Languages.Where(x => x.Name == LANGUAGE_NAME).ToList().FirstOrDefault(); - - Guid id = language.Id; - - bool result = await this.LanguageRepository.DoesLanguageExistAsync(id); - - Assert.IsTrue(result, "DoesLanguageExistAsync returns flase when language exists"); - } - - [Test] - public async Task DoesLanguageExist_ReturnsFalse_IfIdDoesNotExists() - { - Guid id = Guid.NewGuid(); - - bool result = await this.LanguageRepository.DoesLanguageExistAsync(id); - - Assert.IsFalse(result, "DoesLanguageExistAsync returns true when language does not exist"); - } - #endregion - - #region DoesTechnologyNameExistAsync - [Test] - public async Task DoesLanguageNameExist_ReturnsTrue_IfLanguageExists() - { - await AddEntity(); - - bool result = await this.LanguageRepository.DoesLanguageNameExistAsync(LANGUAGE_NAME); - - Assert.IsTrue(result, "DoesLanguageNameExists returns true when language name does not exist"); - } - - [Test] - public async Task DoesLanguageNameExist_ReturnsFalse_IfLanguageDoesNotExists() - { - bool result = await this.LanguageRepository.DoesLanguageNameExistAsync(LANGUAGE_NAME); - - Assert.False(result, "DoesTechnologyNameExistAsync returns true when language name does not exist"); - } - #endregion - - #region HelperMethods - private async Task AddEntity(string name = LANGUAGE_NAME) - { - Language language = new Language - { - Name = name - }; - - await this.LanguageRepository.AddAsync(language); - } - #endregion - } -} diff --git a/src/DevHive.Tests/DevHive.Data.Tests/PostRepository.Tests.cs b/src/DevHive.Tests/DevHive.Data.Tests/PostRepository.Tests.cs deleted file mode 100644 index 6dacf0b..0000000 --- a/src/DevHive.Tests/DevHive.Data.Tests/PostRepository.Tests.cs +++ /dev/null @@ -1,145 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using DevHive.Data.Interfaces.Repositories; -using DevHive.Data.Models; -using DevHive.Data.RelationModels; -using DevHive.Data.Repositories; -using Microsoft.EntityFrameworkCore; -using Moq; -using NUnit.Framework; - -namespace DevHive.Data.Tests -{ - [TestFixture] - public class PostRepositoryTests - { - private const string POST_MESSAGE = "Post test message"; - - private DevHiveContext Context { get; set; } - - private Mock UserRepository { get; set; } - - private PostRepository PostRepository { get; set; } - - #region Setups - [SetUp] - public void Setup() - { - var optionsBuilder = new DbContextOptionsBuilder() - .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - - this.Context = new DevHiveContext(optionsBuilder.Options); - - this.UserRepository = new Mock(); - - PostRepository = new PostRepository(Context, this.UserRepository.Object); - } - - [TearDown] - public void TearDown() - { - this.Context.Database.EnsureDeleted(); - } - #endregion - - #region AddNewPostToCreator - // [Test] - // public async Task AddNewPostToCreator_ReturnsTrue_WhenNewPostIsAddedToCreator() - // { - // Post post = await this.AddEntity(); - // User user = new User { Id = Guid.NewGuid() }; - // - // this.UserRepository.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - // - // bool result = await this.PostRepository.AddNewPostToCreator(user.Id, post); - // - // Assert.IsTrue(result, "AddNewPostToCreator does not return true when Post Is Added To Creator successfully"); - // } - #endregion - - #region GetByIdAsync - [Test] - public async Task GetByNameAsync_ReturnsTheCorrectPost_IfItExists() - { - Post post = await AddEntity(); - - Post resultTechnology = await this.PostRepository.GetByIdAsync(post.Id); - - Assert.AreEqual(post.Id, resultTechnology.Id, "GetByIdAsync does not return the correct post"); - } - - [Test] - public async Task GetByIdAsync_ReturnsNull_IfTechnologyDoesNotExists() - { - Post resultPost = await this.PostRepository.GetByIdAsync(Guid.NewGuid()); - - Assert.IsNull(resultPost); - } - #endregion - - #region GetPostByCreatorAndTimeCreatedAsync - [Test] - public async Task GetPostByCreatorAndTimeCreatedAsync_ReturnsTheCorrectPost_IfItExists() - { - Post post = await this.AddEntity(); - - Post resultPost = await this.PostRepository.GetPostByCreatorAndTimeCreatedAsync(post.Creator.Id, post.TimeCreated); - - Assert.AreEqual(post.Id, resultPost.Id, "GetPostByCreatorAndTimeCreatedAsync does not return the corect post when it exists"); - } - - [Test] - public async Task GetPostByCreatorAndTimeCreatedAsync_ReturnsNull_IfThePostDoesNotExist() - { - Post post = await this.AddEntity(); - - Post resutPost = await this.PostRepository.GetPostByCreatorAndTimeCreatedAsync(Guid.Empty, DateTime.Now); - - Assert.IsNull(resutPost, "GetPostByCreatorAndTimeCreatedAsync does not return null when the post does not exist"); - } - #endregion - - #region DoesPostExist - [Test] - public async Task DoesPostExist_ReturnsTrue_WhenThePostExists() - { - Post post = await this.AddEntity(); - - bool result = await this.PostRepository.DoesPostExist(post.Id); - - Assert.IsTrue(result, "DoesPostExist does not return true whenm the Post exists"); - } - - [Test] - public async Task DoesPostExist_ReturnsFalse_WhenThePostDoesNotExist() - { - bool result = await this.PostRepository.DoesPostExist(Guid.Empty); - - Assert.IsFalse(result, "DoesPostExist does not return false whenm the Post does not exist"); - } - #endregion - - #region HelperMethods - private async Task AddEntity(string name = POST_MESSAGE) - { - User creator = new User { Id = Guid.NewGuid() }; - await this.Context.Users.AddAsync(creator); - Post post = new Post - { - Message = POST_MESSAGE, - Id = Guid.NewGuid(), - Creator = creator, - TimeCreated = DateTime.Now, - Attachments = new List { new PostAttachments { FileUrl = "kur" }, new PostAttachments { FileUrl = "za" }, new PostAttachments { FileUrl = "tva" } }, - Comments = new List() - }; - - await this.Context.Posts.AddAsync(post); - await this.Context.SaveChangesAsync(); - - return post; - } - #endregion - } -} diff --git a/src/DevHive.Tests/DevHive.Data.Tests/RoleRepository.Tests.cs b/src/DevHive.Tests/DevHive.Data.Tests/RoleRepository.Tests.cs deleted file mode 100644 index 7f62c24..0000000 --- a/src/DevHive.Tests/DevHive.Data.Tests/RoleRepository.Tests.cs +++ /dev/null @@ -1,119 +0,0 @@ -using System; -using System.Linq; -using System.Threading.Tasks; -using DevHive.Data.Models; -using DevHive.Data.Repositories; -using Microsoft.EntityFrameworkCore; -using NUnit.Framework; - -namespace DevHive.Data.Tests -{ - [TestFixture] - public class RoleRepositoryTests - { - private const string ROLE_NAME = "Role test name"; - - protected DevHiveContext Context { get; set; } - - protected RoleRepository RoleRepository { get; set; } - - #region Setups - [SetUp] - public void Setup() - { - var optionsBuilder = new DbContextOptionsBuilder() - .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - - this.Context = new DevHiveContext(optionsBuilder.Options); - - RoleRepository = new RoleRepository(Context); - } - - [TearDown] - public void TearDown() - { - this.Context.Database.EnsureDeleted(); - } - #endregion - - #region GetByNameAsync - [Test] - public async Task GetByNameAsync_ReturnsTheRole_WhenItExists() - { - Role role = await this.AddEntity(); - - Role resultRole = await this.RoleRepository.GetByNameAsync(role.Name); - - Assert.AreEqual(role.Id, resultRole.Id, "GetByNameAsync does not return the correct role"); - } - - [Test] - public async Task GetByNameAsync_ReturnsNull_WhenTheRoleDoesNotExist() - { - Role resultRole = await this.RoleRepository.GetByNameAsync(ROLE_NAME); - - Assert.IsNull(resultRole, "GetByNameAsync does not return when the role does not exist"); - } - #endregion - - #region DoesNameExist - [Test] - public async Task DoesNameExist_ReturnsTrue_WhenTheNameExists() - { - Role role = await this.AddEntity(); - - bool result = await this.RoleRepository.DoesNameExist(role.Name); - - Assert.IsTrue(result, "DoesNameExist returns false when the role name exist"); - } - - [Test] - public async Task DoesNameExist_ReturnsFalse_WhenTheNameDoesNotExist() - { - bool result = await this.RoleRepository.DoesNameExist(ROLE_NAME); - - Assert.IsFalse(result, "DoesNameExist returns false when the role name exist"); - } - #endregion - - #region DoesRoleExist - [Test] - public async Task DoesRoleExist_ReturnsTrue_IfIdExists() - { - await AddEntity(); - Role role = this.Context.Roles.Where(x => x.Name == ROLE_NAME).ToList().FirstOrDefault(); - Guid id = role.Id; - - bool result = await this.RoleRepository.DoesRoleExist(id); - - Assert.IsTrue(result, "DoesRoleExistAsync returns flase when role exists"); - } - - [Test] - public async Task DoesRoleExist_ReturnsFalse_IfIdDoesNotExists() - { - Guid id = Guid.NewGuid(); - - bool result = await this.RoleRepository.DoesRoleExist(id); - - Assert.IsFalse(result, "DoesRoleExist returns true when role does not exist"); - } - #endregion - - #region HelperMethods - private async Task AddEntity(string name = ROLE_NAME) - { - Role role = new Role - { - Id = Guid.NewGuid(), - Name = name - }; - - this.Context.Roles.Add(role); - await this.Context.SaveChangesAsync(); - - return role; - } - #endregion - } -} diff --git a/src/DevHive.Tests/DevHive.Data.Tests/TechnologyRepository.Tests.cs b/src/DevHive.Tests/DevHive.Data.Tests/TechnologyRepository.Tests.cs deleted file mode 100644 index d25fd3b..0000000 --- a/src/DevHive.Tests/DevHive.Data.Tests/TechnologyRepository.Tests.cs +++ /dev/null @@ -1,118 +0,0 @@ -using DevHive.Data.Models; -using DevHive.Data.Repositories; -using Microsoft.EntityFrameworkCore; -using NUnit.Framework; -using System; -using System.Linq; -using System.Threading.Tasks; - -namespace DevHive.Data.Tests -{ - [TestFixture] - public class TechnologyRepositoryTests - { - private const string TECHNOLOGY_NAME = "Technology test name"; - - protected DevHiveContext Context { get; set; } - - protected TechnologyRepository TechnologyRepository { get; set; } - - #region Setups - [SetUp] - public void Setup() - { - var optionsBuilder = new DbContextOptionsBuilder() - .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - - this.Context = new DevHiveContext(optionsBuilder.Options); - - TechnologyRepository = new TechnologyRepository(Context); - } - - [TearDown] - public void TearDown() - { - this.Context.Database.EnsureDeleted(); - } - #endregion - - #region GetByNameAsync - [Test] - public async Task GetByNameAsync_ReturnsTheCorrectTechnology_IfItExists() - { - await AddEntity(); - - Technology technology = this.Context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).ToList().FirstOrDefault(); - - Technology resultTechnology = await this.TechnologyRepository.GetByNameAsync(TECHNOLOGY_NAME); - - Assert.AreEqual(technology.Id, resultTechnology.Id); - } - - [Test] - public async Task GetByNameAsync_ReturnsNull_IfTechnologyDoesNotExists() - { - Technology resultTechnology = await this.TechnologyRepository.GetByNameAsync(TECHNOLOGY_NAME); - - Assert.IsNull(resultTechnology); - } - #endregion - - #region DoesTechnologyExistAsync - [Test] - public async Task DoesTechnologyExist_ReturnsTrue_IfIdExists() - { - await AddEntity(); - Technology technology = this.Context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).ToList().FirstOrDefault(); - Guid id = technology.Id; - - bool result = await this.TechnologyRepository.DoesTechnologyExistAsync(id); - - Assert.IsTrue(result, "DoesTechnologyExistAsync returns flase hwen technology exists"); - } - - [Test] - public async Task DoesTechnologyExist_ReturnsFalse_IfIdDoesNotExists() - { - Guid id = Guid.NewGuid(); - - bool result = await this.TechnologyRepository.DoesTechnologyExistAsync(id); - - Assert.IsFalse(result, "DoesTechnologyExistAsync returns true when technology does not exist"); - } - #endregion - - #region DoesTechnologyNameExistAsync - [Test] - public async Task DoesTechnologyNameExist_ReturnsTrue_IfTechnologyExists() - { - await AddEntity(); - - bool result = await this.TechnologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME); - - Assert.IsTrue(result, "DoesTechnologyNameExists returns true when technology name does not exist"); - } - - [Test] - public async Task DoesTechnologyNameExist_ReturnsFalse_IfTechnologyDoesNotExists() - { - bool result = await this.TechnologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME); - - Assert.False(result, "DoesTechnologyNameExistAsync returns true when technology name does not exist"); - } - #endregion - - #region HelperMethods - private async Task AddEntity(string name = TECHNOLOGY_NAME) - { - Technology technology = new Technology - { - Name = name - }; - - this.Context.Technologies.Add(technology); - await this.Context.SaveChangesAsync(); - } - #endregion - } -} diff --git a/src/DevHive.Tests/DevHive.Data.Tests/UserRepositoryTests.cs b/src/DevHive.Tests/DevHive.Data.Tests/UserRepositoryTests.cs deleted file mode 100644 index 43e9a36..0000000 --- a/src/DevHive.Tests/DevHive.Data.Tests/UserRepositoryTests.cs +++ /dev/null @@ -1,350 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using DevHive.Data.Models; -using DevHive.Data.Repositories; -using Microsoft.EntityFrameworkCore; -using NUnit.Framework; - -namespace DevHive.Data.Tests -{ - [TestFixture] - public class UserRepositoryTests - { - private DevHiveContext _context; - private UserRepository _userRepository; - - #region Setups - [SetUp] - public void Setup() - { - var options = new DbContextOptionsBuilder() - .UseInMemoryDatabase("DevHive_UserRepository_Database"); - - this._context = new DevHiveContext(options.Options); - this._userRepository = new UserRepository(_context); - } - - [TearDown] - public async Task Teardown() - { - await this._context.Database.EnsureDeletedAsync(); - } - #endregion - - #region QueryAll - // [Test] - // public async Task QueryAll_ShouldReturnAllUsersFromDatabase_WhenTheyExist() - // { - // //Arrange - // User dummyUserOne = CreateDummyUser(); - // User dummyUserTwo = CreateAnotherDummyUser(); - // - // await this._userRepository.AddAsync(dummyUserOne); - // await this._userRepository.AddAsync(dummyUserTwo); - // - // //Act - // IEnumerable users = this._userRepository.QueryAll(); - // - // //Assert - // Assert.AreEqual(2, users.Count(), "Method doesn't return all instances of user"); - // } - - // [Test] - // public void QueryAll_ReturnsNull_WhenNoUsersExist() - // { - // IEnumerable users = this._userRepository.QueryAll(); - // - // Assert.AreEqual(0, users.Count(), "Method returns Users when there are non"); - // } - #endregion - - #region EditAsync - [Test] - public async Task EditAsync_ReturnsTrue_WhenUserIsUpdatedSuccessfully() - { - User oldUser = this.CreateDummyUser(); - this._context.Users.Add(oldUser); - await this._context.SaveChangesAsync(); - - oldUser.UserName = "SuperSecretUserName"; - bool result = await this._userRepository.EditAsync(oldUser.Id, oldUser); - - Assert.IsTrue(result, "EditAsync does not return true when User is updated successfully"); - } - #endregion - - #region GetByIdAsync - [Test] - public async Task GetByIdAsync_ReturnsTheUse_WhenItExists() - { - User dummyUserOne = CreateDummyUser(); - await this._userRepository.AddAsync(dummyUserOne); - - User resultUser = await this._userRepository.GetByIdAsync(dummyUserOne.Id); - - Assert.AreEqual(dummyUserOne.UserName, resultUser.UserName); - } - - [Test] - public async Task GetByIdAsync_ReturnsNull_WhenUserDoesNotExist() - { - Guid id = Guid.NewGuid(); - - User resultUser = await this._userRepository.GetByIdAsync(id); - - Assert.IsNull(resultUser); - } - #endregion - - #region GetByUsernameAsync - [Test] - public async Task GetByUsernameAsync_ReturnsUserFromDatabase_WhenItExists() - { - //Arrange - User dummyUser = CreateDummyUser(); - await this._userRepository.AddAsync(dummyUser); - string username = dummyUser.UserName; - - //Act - User user = await this._userRepository.GetByUsernameAsync(username); - - //Assert - Assert.AreEqual(dummyUser.Id, user.Id, "Method doesn't get the proper user from database"); - } - - [Test] - public async Task GetByUsernameAsync_ReturnsNull_WhenUserDoesNotExist() - { - //Act - User user = await this._userRepository.GetByUsernameAsync(null); - - //Assert - Assert.IsNull(user, "Method returns user when it does not exist"); - } - #endregion - - #region DoesUserExistAsync - [Test] - public async Task DoesUserExistAsync_ReturnsTrue_WhenUserExists() - { - User dummyUser = this.CreateDummyUser(); - this._context.Users.Add(dummyUser); - await this._context.SaveChangesAsync(); - - bool result = await this._userRepository.DoesUserExistAsync(dummyUser.Id); - - Assert.IsTrue(result, "DoesUserExistAsync does not return true when user exists"); - } - - [Test] - public async Task DoesUserExistAsync_ReturnsFalse_WhenUserDoesNotExist() - { - Guid id = Guid.NewGuid(); - - bool result = await this._userRepository.DoesUserExistAsync(id); - - Assert.IsFalse(result, "DoesUserExistAsync does not return false when user does not exist"); - } - #endregion - - #region DoesUserNameExistAsync - [Test] - public async Task DoesUsernameExistAsync_ReturnsTrue_WhenUserWithTheNameExists() - { - User dummyUser = this.CreateDummyUser(); - this._context.Users.Add(dummyUser); - await this._context.SaveChangesAsync(); - - bool result = await this._userRepository.DoesUsernameExistAsync(dummyUser.UserName); - - Assert.IsTrue(result, "DoesUserNameExistAsync does not return true when username exists"); - } - - [Test] - public async Task DoesUsernameExistAsync_ReturnsFalse_WhenUserWithTheNameDoesNotExist() - { - string userName = "Fake name"; - - bool result = await this._userRepository.DoesUsernameExistAsync(userName); - - Assert.IsFalse(result, "DoesUserNameExistAsync does not return false when username does not exist"); - } - #endregion - - #region DoesEmailExistAsync - [Test] - public async Task DoesEmailExistAsync_ReturnsTrue_WhenUserWithTheEmailExists() - { - User dummyUser = this.CreateDummyUser(); - this._context.Users.Add(dummyUser); - await this._context.SaveChangesAsync(); - - bool result = await this._userRepository.DoesEmailExistAsync(dummyUser.Email); - - Assert.IsTrue(result, "DoesUserNameExistAsync does not return true when email exists"); - } - - [Test] - public async Task DoesEmailExistAsync_ReturnsFalse_WhenUserWithTheEmailDoesNotExist() - { - string email = "Fake email"; - - bool result = await this._userRepository.DoesUsernameExistAsync(email); - - Assert.IsFalse(result, "DoesUserNameExistAsync does not return false when email does not exist"); - } - #endregion - - #region DoesUserHaveThisFriendAsync - //[Test] - //public async Task DoesUserHaveThisFriendAsync_ReturnsTrue_WhenUserHasTheGivenFriend() - //{ - // User dummyUser = this.CreateDummyUser(); - // User anotherDummyUser = this.CreateAnotherDummyUser(); - // HashSet friends = new HashSet - // { - // anotherDummyUser - // }; - // dummyUser.Friends = friends; - - // this._context.Users.Add(dummyUser); - // this._context.Users.Add(anotherDummyUser); - // await this._context.SaveChangesAsync(); - - // bool result = await this._userRepository.DoesUserHaveThisFriendAsync(dummyUser.Id, anotherDummyUser.Id); - - // Assert.IsTrue(result, "DoesUserHaveThisFriendAsync does not return true when user has the given friend"); - //} - - // [Test] - // public async Task DoesUserHaveThisFriendAsync_ReturnsFalse_WhenUserDoesNotHaveTheGivenFriend() - // { - // User dummyUser = this.CreateDummyUser(); - // User anotherDummyUser = this.CreateAnotherDummyUser(); - // - // this._context.Users.Add(dummyUser); - // this._context.Users.Add(anotherDummyUser); - // await this._context.SaveChangesAsync(); - // - // bool result = await this._userRepository.DoesUserHaveThisFriendAsync(dummyUser.Id, anotherDummyUser.Id); - // - // Assert.IsFalse(result, "DoesUserHaveThisFriendAsync does not return false when user des not have the given friend"); - // } - #endregion - - #region DoesUserHaveThisUsername - [Test] - public async Task DoesUserHaveThisUsername_ReturnsTrue_WhenUserHasTheGivenUsername() - { - User dummyUser = this.CreateDummyUser(); - this._context.Users.Add(dummyUser); - await this._context.SaveChangesAsync(); - - bool result = this._userRepository.DoesUserHaveThisUsername(dummyUser.Id, dummyUser.UserName); - - Assert.IsTrue(result, "DoesUserHaveThisUsername does not return true when the user has the given name"); - } - - [Test] - public async Task DoesUserHaveThisUsername_ReturnsFalse_WhenUserDoesntHaveTheGivenUsername() - { - string username = "Fake username"; - User dummyUser = this.CreateDummyUser(); - this._context.Users.Add(dummyUser); - await this._context.SaveChangesAsync(); - - bool result = this._userRepository.DoesUserHaveThisUsername(dummyUser.Id, username); - - Assert.IsFalse(result, "DoesUserNameExistAsync does not return false when user doesnt have the given name"); - } - #endregion - - #region HelperMethods - private User CreateDummyUser() - { - HashSet languages = new() - { - new Language() - { - Id = Guid.NewGuid(), - Name = "csharp" - }, - }; - - HashSet technologies = new() - { - new Technology() - { - Id = Guid.NewGuid(), - Name = "ASP.NET Core" - }, - }; - - HashSet roles = new() - { - new Role() - { - Id = Guid.NewGuid(), - Name = Role.DefaultRole - }, - }; - - return new() - { - Id = Guid.NewGuid(), - UserName = "dummyUser", - FirstName = "Spas", - LastName = "Spasov", - Email = "abv@abv.bg", - Languages = languages, - Technologies = technologies, - Roles = roles - }; - } - - private User CreateAnotherDummyUser() - { - HashSet languages = new() - { - new Language() - { - Id = Guid.NewGuid(), - Name = "typescript" - }, - }; - - HashSet technologies = new() - { - new Technology() - { - Id = Guid.NewGuid(), - Name = "Angular" - }, - }; - - HashSet roles = new() - { - new Role() - { - Id = Guid.NewGuid(), - Name = Role.DefaultRole - }, - }; - - return new() - { - Id = Guid.NewGuid(), - UserName = "anotherDummyUser", - FirstName = "Alex", - LastName = "Spiridonov", - Email = "a_spiridonov@abv.bg", - Languages = languages, - Technologies = technologies, - Roles = roles - }; - } - #endregion - } -} -- cgit v1.2.3