From 036aa41657c4ddf35b9c1f1bd43627b22aba23f9 Mon Sep 17 00:00:00 2001 From: Danail Dimitrov Date: Sun, 10 Jan 2021 10:55:01 +0200 Subject: Fixed test projects --- .../DevHive.Data.Tests/DevHive.Data.Tests.csproj | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj (limited to 'src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj') diff --git a/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj b/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj new file mode 100644 index 0000000..c414811 --- /dev/null +++ b/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj @@ -0,0 +1,20 @@ + + + + net5.0 + + false + + + + + + + + + + + + + + -- cgit v1.2.3 From 623bb66183be1349325ca9364f5bbf2e451f7578 Mon Sep 17 00:00:00 2001 From: transtrike Date: Wed, 13 Jan 2021 23:05:57 +0200 Subject: Added .csproj wide code analyzer support --- src/DevHive.Common/DevHive.Common.csproj | 5 ++++- src/DevHive.Data/DevHive.Data.csproj | 15 ++++++++++----- src/DevHive.Services/DevHive.Services.csproj | 17 ++++++++++------- .../DevHive.Data.Tests/DevHive.Data.Tests.csproj | 4 ++++ .../DevHive.Services.Tests.csproj | 4 ++++ .../DevHive.Web.Tests/DevHive.Web.Tests.csproj | 4 ++++ src/DevHive.Web/DevHive.Web.csproj | 5 +++++ 7 files changed, 41 insertions(+), 13 deletions(-) (limited to 'src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj') diff --git a/src/DevHive.Common/DevHive.Common.csproj b/src/DevHive.Common/DevHive.Common.csproj index 1aca8a6..ace4997 100644 --- a/src/DevHive.Common/DevHive.Common.csproj +++ b/src/DevHive.Common/DevHive.Common.csproj @@ -8,5 +8,8 @@ - + + true + latest + diff --git a/src/DevHive.Data/DevHive.Data.csproj b/src/DevHive.Data/DevHive.Data.csproj index 34a5431..d91728d 100644 --- a/src/DevHive.Data/DevHive.Data.csproj +++ b/src/DevHive.Data/DevHive.Data.csproj @@ -10,16 +10,21 @@ - - runtime; build; native; contentfiles; analyzers; buildtransitive - all + + runtime; build; native; contentfiles; analyzers; buildtransitive + all - - + + + + true + latest + + diff --git a/src/DevHive.Services/DevHive.Services.csproj b/src/DevHive.Services/DevHive.Services.csproj index 19f67d8..52f0323 100644 --- a/src/DevHive.Services/DevHive.Services.csproj +++ b/src/DevHive.Services/DevHive.Services.csproj @@ -5,9 +5,9 @@ - - runtime; build; native; contentfiles; analyzers; buildtransitive - all + + runtime; build; native; contentfiles; analyzers; buildtransitive + all @@ -16,9 +16,12 @@ - - + + - - + + + true + latest + diff --git a/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj b/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj index c414811..509ceef 100644 --- a/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj +++ b/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj @@ -17,4 +17,8 @@ + + true + latest + diff --git a/src/DevHive.Tests/DevHive.Services.Tests/DevHive.Services.Tests.csproj b/src/DevHive.Tests/DevHive.Services.Tests/DevHive.Services.Tests.csproj index fb94b61..c96dfb8 100644 --- a/src/DevHive.Tests/DevHive.Services.Tests/DevHive.Services.Tests.csproj +++ b/src/DevHive.Tests/DevHive.Services.Tests/DevHive.Services.Tests.csproj @@ -18,4 +18,8 @@ + + true + latest + diff --git a/src/DevHive.Tests/DevHive.Web.Tests/DevHive.Web.Tests.csproj b/src/DevHive.Tests/DevHive.Web.Tests/DevHive.Web.Tests.csproj index bdcca5d..e527713 100644 --- a/src/DevHive.Tests/DevHive.Web.Tests/DevHive.Web.Tests.csproj +++ b/src/DevHive.Tests/DevHive.Web.Tests/DevHive.Web.Tests.csproj @@ -16,4 +16,8 @@ + + true + latest + diff --git a/src/DevHive.Web/DevHive.Web.csproj b/src/DevHive.Web/DevHive.Web.csproj index 515d2f5..84cd92f 100644 --- a/src/DevHive.Web/DevHive.Web.csproj +++ b/src/DevHive.Web/DevHive.Web.csproj @@ -21,4 +21,9 @@ + + + true + latest + \ No newline at end of file -- cgit v1.2.3 From 5514f1109cb3689fa81b29bb2d7dcf84cc05f65f Mon Sep 17 00:00:00 2001 From: transtrike Date: Fri, 15 Jan 2021 16:45:30 +0200 Subject: Extracted Interfaces from every DevHive.Data class; Tidied up the DevHive.Interfaces --- src/DevHive.Data/Interfaces/ILanguageRepository.cs | 14 -------- src/DevHive.Data/Interfaces/IPostRepository.cs | 20 ------------ src/DevHive.Data/Interfaces/IRepository.cs | 21 ------------ src/DevHive.Data/Interfaces/IRoleRepository.cs | 15 --------- .../Interfaces/ITechnologyRepository.cs | 14 -------- src/DevHive.Data/Interfaces/IUserRepository.cs | 38 ---------------------- src/DevHive.Data/Interfaces/Models/IComment.cs | 11 +++++++ src/DevHive.Data/Interfaces/Models/ILanguage.cs | 7 ++++ src/DevHive.Data/Interfaces/Models/IModel.cs | 9 +++++ src/DevHive.Data/Interfaces/Models/IPost.cs | 13 ++++++++ src/DevHive.Data/Interfaces/Models/IRole.cs | 10 ++++++ src/DevHive.Data/Interfaces/Models/ITechnology.cs | 7 ++++ src/DevHive.Data/Interfaces/Models/IUser.cs | 16 +++++++++ .../Interfaces/Repositories/ILanguageRepository.cs | 14 ++++++++ .../Interfaces/Repositories/IPostRepository.cs | 20 ++++++++++++ .../Interfaces/Repositories/IRepository.cs | 21 ++++++++++++ .../Interfaces/Repositories/IRoleRepository.cs | 15 +++++++++ .../Repositories/ITechnologyRepository.cs | 14 ++++++++ .../Interfaces/Repositories/IUserRepository.cs | 38 ++++++++++++++++++++++ src/DevHive.Data/Models/Comment.cs | 6 ++-- src/DevHive.Data/Models/IModel.cs | 9 ----- src/DevHive.Data/Models/Language.cs | 4 ++- src/DevHive.Data/Models/Post.cs | 3 +- src/DevHive.Data/Models/Role.cs | 7 ++-- src/DevHive.Data/Models/Technology.cs | 3 +- src/DevHive.Data/Models/User.cs | 3 +- .../Repositories/LanguageRepository.cs | 2 +- src/DevHive.Data/Repositories/PostRepository.cs | 4 +-- src/DevHive.Data/Repositories/RoleRepository.cs | 2 +- .../Repositories/TechnologyRepository.cs | 2 +- src/DevHive.Data/Repositories/UserRepository.cs | 2 +- src/DevHive.Services/Services/LanguageService.cs | 2 +- src/DevHive.Services/Services/PostService.cs | 2 +- src/DevHive.Services/Services/RoleService.cs | 2 +- src/DevHive.Services/Services/TechnologyService.cs | 2 +- src/DevHive.Services/Services/UserService.cs | 2 +- .../DevHive.Data.Tests/DevHive.Data.Tests.csproj | 1 + .../DevHive.Data.Tests/UserRepositoryTests.cs | 17 +++++++++- .../TechnologyServices.Tests.cs | 2 +- .../Extensions/ConfigureDependencyInjection.cs | 2 +- src/DevHive.Web/DevHive.Web.csproj | 31 +++++++++--------- 41 files changed, 257 insertions(+), 170 deletions(-) delete mode 100644 src/DevHive.Data/Interfaces/ILanguageRepository.cs delete mode 100644 src/DevHive.Data/Interfaces/IPostRepository.cs delete mode 100644 src/DevHive.Data/Interfaces/IRepository.cs delete mode 100644 src/DevHive.Data/Interfaces/IRoleRepository.cs delete mode 100644 src/DevHive.Data/Interfaces/ITechnologyRepository.cs delete mode 100644 src/DevHive.Data/Interfaces/IUserRepository.cs create mode 100644 src/DevHive.Data/Interfaces/Models/IComment.cs create mode 100644 src/DevHive.Data/Interfaces/Models/ILanguage.cs create mode 100644 src/DevHive.Data/Interfaces/Models/IModel.cs create mode 100644 src/DevHive.Data/Interfaces/Models/IPost.cs create mode 100644 src/DevHive.Data/Interfaces/Models/IRole.cs create mode 100644 src/DevHive.Data/Interfaces/Models/ITechnology.cs create mode 100644 src/DevHive.Data/Interfaces/Models/IUser.cs create mode 100644 src/DevHive.Data/Interfaces/Repositories/ILanguageRepository.cs create mode 100644 src/DevHive.Data/Interfaces/Repositories/IPostRepository.cs create mode 100644 src/DevHive.Data/Interfaces/Repositories/IRepository.cs create mode 100644 src/DevHive.Data/Interfaces/Repositories/IRoleRepository.cs create mode 100644 src/DevHive.Data/Interfaces/Repositories/ITechnologyRepository.cs create mode 100644 src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs delete mode 100644 src/DevHive.Data/Models/IModel.cs (limited to 'src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj') diff --git a/src/DevHive.Data/Interfaces/ILanguageRepository.cs b/src/DevHive.Data/Interfaces/ILanguageRepository.cs deleted file mode 100644 index 0612116..0000000 --- a/src/DevHive.Data/Interfaces/ILanguageRepository.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Threading.Tasks; -using DevHive.Data.Models; -using DevHive.Data.Repositories.Interfaces; - -namespace DevHive.Data.Interfaces -{ - public interface ILanguageRepository : IRepository - { - Task DoesLanguageExistAsync(Guid id); - Task DoesLanguageNameExistAsync(string languageName); - Task GetByNameAsync(string name); - } -} diff --git a/src/DevHive.Data/Interfaces/IPostRepository.cs b/src/DevHive.Data/Interfaces/IPostRepository.cs deleted file mode 100644 index a02fd08..0000000 --- a/src/DevHive.Data/Interfaces/IPostRepository.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Threading.Tasks; -using DevHive.Data.Models; -using DevHive.Data.Repositories.Interfaces; - -namespace DevHive.Data.Interfaces -{ - public interface IPostRepository : IRepository - { - Task AddCommentAsync(Comment entity); - - Task GetCommentByIdAsync(Guid id); - - Task EditCommentAsync(Comment newEntity); - - Task DeleteCommentAsync(Comment entity); - Task DoesCommentExist(Guid id); - Task DoesPostExist(Guid postId); - } -} diff --git a/src/DevHive.Data/Interfaces/IRepository.cs b/src/DevHive.Data/Interfaces/IRepository.cs deleted file mode 100644 index 40a78de..0000000 --- a/src/DevHive.Data/Interfaces/IRepository.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Threading.Tasks; - -namespace DevHive.Data.Repositories.Interfaces -{ - public interface IRepository - where TEntity : class - { - //Add Entity to database - Task AddAsync(TEntity entity); - - //Find entity by id - Task GetByIdAsync(Guid id); - - //Modify Entity from database - Task EditAsync(TEntity newEntity); - - //Delete Entity from database - Task DeleteAsync(TEntity entity); - } -} \ No newline at end of file diff --git a/src/DevHive.Data/Interfaces/IRoleRepository.cs b/src/DevHive.Data/Interfaces/IRoleRepository.cs deleted file mode 100644 index a1080bb..0000000 --- a/src/DevHive.Data/Interfaces/IRoleRepository.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Threading.Tasks; -using DevHive.Data.Models; -using DevHive.Data.Repositories.Interfaces; - -namespace DevHive.Data.Interfaces -{ - public interface IRoleRepository : IRepository - { - Task GetByNameAsync(string name); - - Task DoesNameExist(string name); - Task DoesRoleExist(Guid id); - } -} diff --git a/src/DevHive.Data/Interfaces/ITechnologyRepository.cs b/src/DevHive.Data/Interfaces/ITechnologyRepository.cs deleted file mode 100644 index d0de096..0000000 --- a/src/DevHive.Data/Interfaces/ITechnologyRepository.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Threading.Tasks; -using DevHive.Data.Models; -using DevHive.Data.Repositories.Interfaces; - -namespace DevHive.Data.Interfaces -{ - public interface ITechnologyRepository : IRepository - { - Task DoesTechnologyExistAsync(Guid id); - Task DoesTechnologyNameExistAsync(string technologyName); - Task GetByNameAsync(string name); - } -} diff --git a/src/DevHive.Data/Interfaces/IUserRepository.cs b/src/DevHive.Data/Interfaces/IUserRepository.cs deleted file mode 100644 index a4a6fdd..0000000 --- a/src/DevHive.Data/Interfaces/IUserRepository.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using DevHive.Data.Models; -using DevHive.Data.Repositories.Interfaces; - -namespace DevHive.Data.Interfaces -{ - public interface IUserRepository : IRepository - { - Task AddFriendAsync(User user, User friend); - Task AddLanguageToUserAsync(User user, Language language); - Task AddTechnologyToUserAsync(User user, Technology technology); - - Task GetByUsernameAsync(string username); - Language GetUserLanguage(User user, Language language); - IList GetUserLanguages(User user); - IList GetUserTechnologies(User user); - Technology GetUserTechnology(User user, Technology technology); - IEnumerable QueryAll(); - - Task EditUserLanguageAsync(User user, Language oldLang, Language newLang); - Task EditUserTechnologyAsync(User user, Technology oldTech, Technology newTech); - - Task RemoveFriendAsync(User user, User friend); - Task RemoveLanguageFromUserAsync(User user, Language language); - Task RemoveTechnologyFromUserAsync(User user, Technology technology); - - Task DoesEmailExistAsync(string email); - Task DoesUserExistAsync(Guid id); - Task DoesUserHaveThisFriendAsync(Guid userId, Guid friendId); - Task DoesUsernameExistAsync(string username); - bool DoesUserHaveThisLanguage(User user, Language language); - bool DoesUserHaveThisUsername(Guid id, string username); - bool DoesUserHaveFriends(User user); - bool DoesUserHaveThisTechnology(User user, Technology technology); - } -} diff --git a/src/DevHive.Data/Interfaces/Models/IComment.cs b/src/DevHive.Data/Interfaces/Models/IComment.cs new file mode 100644 index 0000000..f6afb3f --- /dev/null +++ b/src/DevHive.Data/Interfaces/Models/IComment.cs @@ -0,0 +1,11 @@ +using System; + +namespace DevHive.Data.Interfaces.Models +{ + public interface IComment : IModel + { + Guid IssuerId { get; set; } + string Message { get; set; } + DateTime TimeCreated { get; set; } + } +} diff --git a/src/DevHive.Data/Interfaces/Models/ILanguage.cs b/src/DevHive.Data/Interfaces/Models/ILanguage.cs new file mode 100644 index 0000000..f757a3f --- /dev/null +++ b/src/DevHive.Data/Interfaces/Models/ILanguage.cs @@ -0,0 +1,7 @@ +namespace DevHive.Data.Interfaces.Models +{ + public interface ILanguage : IModel + { + string Name { get; set; } + } +} diff --git a/src/DevHive.Data/Interfaces/Models/IModel.cs b/src/DevHive.Data/Interfaces/Models/IModel.cs new file mode 100644 index 0000000..f903af3 --- /dev/null +++ b/src/DevHive.Data/Interfaces/Models/IModel.cs @@ -0,0 +1,9 @@ +using System; + +namespace DevHive.Data.Interfaces.Models +{ + public interface IModel + { + Guid Id { get; set; } + } +} diff --git a/src/DevHive.Data/Interfaces/Models/IPost.cs b/src/DevHive.Data/Interfaces/Models/IPost.cs new file mode 100644 index 0000000..117d859 --- /dev/null +++ b/src/DevHive.Data/Interfaces/Models/IPost.cs @@ -0,0 +1,13 @@ +using System; +using DevHive.Data.Models; + +namespace DevHive.Data.Interfaces.Models +{ + public interface IPost : IModel + { + Guid IssuerId { get; set; } + DateTime TimeCreated { get; set; } + string Message { get; set; } + Comment[] Comments { get; set; } + } +} diff --git a/src/DevHive.Data/Interfaces/Models/IRole.cs b/src/DevHive.Data/Interfaces/Models/IRole.cs new file mode 100644 index 0000000..0623f07 --- /dev/null +++ b/src/DevHive.Data/Interfaces/Models/IRole.cs @@ -0,0 +1,10 @@ +using System.Collections.Generic; +using DevHive.Data.Models; + +namespace DevHive.Data.Interfaces.Models +{ + public interface IRole + { + List Users { get; set; } + } +} diff --git a/src/DevHive.Data/Interfaces/Models/ITechnology.cs b/src/DevHive.Data/Interfaces/Models/ITechnology.cs new file mode 100644 index 0000000..9bd97f9 --- /dev/null +++ b/src/DevHive.Data/Interfaces/Models/ITechnology.cs @@ -0,0 +1,7 @@ +namespace DevHive.Data.Interfaces.Models +{ + public interface ITechnology : IModel + { + string Name { get; set; } + } +} diff --git a/src/DevHive.Data/Interfaces/Models/IUser.cs b/src/DevHive.Data/Interfaces/Models/IUser.cs new file mode 100644 index 0000000..0a770f0 --- /dev/null +++ b/src/DevHive.Data/Interfaces/Models/IUser.cs @@ -0,0 +1,16 @@ +using System.Collections.Generic; +using DevHive.Data.Models; + +namespace DevHive.Data.Interfaces.Models +{ + public interface IUser : IModel + { + string FirstName { get; set; } + string LastName { get; set; } + string ProfilePictureUrl { get; set; } + IList Langauges { get; set; } + IList Technologies { get; set; } + IList Roles { get; set; } + IList Friends { get; set; } + } +} diff --git a/src/DevHive.Data/Interfaces/Repositories/ILanguageRepository.cs b/src/DevHive.Data/Interfaces/Repositories/ILanguageRepository.cs new file mode 100644 index 0000000..f1d7248 --- /dev/null +++ b/src/DevHive.Data/Interfaces/Repositories/ILanguageRepository.cs @@ -0,0 +1,14 @@ +using System; +using System.Threading.Tasks; +using DevHive.Data.Models; +using DevHive.Data.Repositories.Interfaces; + +namespace DevHive.Data.Interfaces.Repositories +{ + public interface ILanguageRepository : IRepository + { + Task DoesLanguageExistAsync(Guid id); + Task DoesLanguageNameExistAsync(string languageName); + Task GetByNameAsync(string name); + } +} diff --git a/src/DevHive.Data/Interfaces/Repositories/IPostRepository.cs b/src/DevHive.Data/Interfaces/Repositories/IPostRepository.cs new file mode 100644 index 0000000..913d8c4 --- /dev/null +++ b/src/DevHive.Data/Interfaces/Repositories/IPostRepository.cs @@ -0,0 +1,20 @@ +using System; +using System.Threading.Tasks; +using DevHive.Data.Models; +using DevHive.Data.Repositories.Interfaces; + +namespace DevHive.Data.Interfaces.Repositories +{ + public interface IPostRepository : IRepository + { + Task AddCommentAsync(Comment entity); + + Task GetCommentByIdAsync(Guid id); + + Task EditCommentAsync(Comment newEntity); + + Task DeleteCommentAsync(Comment entity); + Task DoesCommentExist(Guid id); + Task DoesPostExist(Guid postId); + } +} diff --git a/src/DevHive.Data/Interfaces/Repositories/IRepository.cs b/src/DevHive.Data/Interfaces/Repositories/IRepository.cs new file mode 100644 index 0000000..40a78de --- /dev/null +++ b/src/DevHive.Data/Interfaces/Repositories/IRepository.cs @@ -0,0 +1,21 @@ +using System; +using System.Threading.Tasks; + +namespace DevHive.Data.Repositories.Interfaces +{ + public interface IRepository + where TEntity : class + { + //Add Entity to database + Task AddAsync(TEntity entity); + + //Find entity by id + Task GetByIdAsync(Guid id); + + //Modify Entity from database + Task EditAsync(TEntity newEntity); + + //Delete Entity from database + Task DeleteAsync(TEntity entity); + } +} \ No newline at end of file diff --git a/src/DevHive.Data/Interfaces/Repositories/IRoleRepository.cs b/src/DevHive.Data/Interfaces/Repositories/IRoleRepository.cs new file mode 100644 index 0000000..e834369 --- /dev/null +++ b/src/DevHive.Data/Interfaces/Repositories/IRoleRepository.cs @@ -0,0 +1,15 @@ +using System; +using System.Threading.Tasks; +using DevHive.Data.Models; +using DevHive.Data.Repositories.Interfaces; + +namespace DevHive.Data.Interfaces.Repositories +{ + public interface IRoleRepository : IRepository + { + Task GetByNameAsync(string name); + + Task DoesNameExist(string name); + Task DoesRoleExist(Guid id); + } +} diff --git a/src/DevHive.Data/Interfaces/Repositories/ITechnologyRepository.cs b/src/DevHive.Data/Interfaces/Repositories/ITechnologyRepository.cs new file mode 100644 index 0000000..fb0ba20 --- /dev/null +++ b/src/DevHive.Data/Interfaces/Repositories/ITechnologyRepository.cs @@ -0,0 +1,14 @@ +using System; +using System.Threading.Tasks; +using DevHive.Data.Models; +using DevHive.Data.Repositories.Interfaces; + +namespace DevHive.Data.Interfaces.Repositories +{ + public interface ITechnologyRepository : IRepository + { + Task DoesTechnologyExistAsync(Guid id); + Task DoesTechnologyNameExistAsync(string technologyName); + Task GetByNameAsync(string name); + } +} diff --git a/src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs b/src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs new file mode 100644 index 0000000..3a22911 --- /dev/null +++ b/src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using DevHive.Data.Models; +using DevHive.Data.Repositories.Interfaces; + +namespace DevHive.Data.Interfaces.Repositories +{ + public interface IUserRepository : IRepository + { + Task AddFriendAsync(User user, User friend); + Task AddLanguageToUserAsync(User user, Language language); + Task AddTechnologyToUserAsync(User user, Technology technology); + + Task GetByUsernameAsync(string username); + Language GetUserLanguage(User user, Language language); + IList GetUserLanguages(User user); + IList GetUserTechnologies(User user); + Technology GetUserTechnology(User user, Technology technology); + IEnumerable QueryAll(); + + Task EditUserLanguageAsync(User user, Language oldLang, Language newLang); + Task EditUserTechnologyAsync(User user, Technology oldTech, Technology newTech); + + Task RemoveFriendAsync(User user, User friend); + Task RemoveLanguageFromUserAsync(User user, Language language); + Task RemoveTechnologyFromUserAsync(User user, Technology technology); + + Task DoesEmailExistAsync(string email); + Task DoesUserExistAsync(Guid id); + Task DoesUserHaveThisFriendAsync(Guid userId, Guid friendId); + Task DoesUsernameExistAsync(string username); + bool DoesUserHaveThisLanguage(User user, Language language); + bool DoesUserHaveThisUsername(Guid id, string username); + bool DoesUserHaveFriends(User user); + bool DoesUserHaveThisTechnology(User user, Technology technology); + } +} diff --git a/src/DevHive.Data/Models/Comment.cs b/src/DevHive.Data/Models/Comment.cs index 8cf848f..a07bd59 100644 --- a/src/DevHive.Data/Models/Comment.cs +++ b/src/DevHive.Data/Models/Comment.cs @@ -1,11 +1,13 @@ using System; +using DevHive.Data.Interfaces.Models; + namespace DevHive.Data.Models { - public class Comment : IModel + public class Comment : IComment { public Guid Id { get; set; } public Guid IssuerId { get; set; } public string Message { get; set; } public DateTime TimeCreated { get; set; } } -} \ No newline at end of file +} diff --git a/src/DevHive.Data/Models/IModel.cs b/src/DevHive.Data/Models/IModel.cs deleted file mode 100644 index 64942ee..0000000 --- a/src/DevHive.Data/Models/IModel.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System; - -namespace DevHive.Data.Models -{ - interface IModel - { - Guid Id { get; set; } - } -} \ No newline at end of file diff --git a/src/DevHive.Data/Models/Language.cs b/src/DevHive.Data/Models/Language.cs index 556d019..2983107 100644 --- a/src/DevHive.Data/Models/Language.cs +++ b/src/DevHive.Data/Models/Language.cs @@ -1,7 +1,9 @@ using System; +using DevHive.Data.Interfaces.Models; + namespace DevHive.Data.Models { - public class Language : IModel + public class Language : ILanguage { public Guid Id { get; set; } public string Name { get; set; } diff --git a/src/DevHive.Data/Models/Post.cs b/src/DevHive.Data/Models/Post.cs index a5abf12..54576b7 100644 --- a/src/DevHive.Data/Models/Post.cs +++ b/src/DevHive.Data/Models/Post.cs @@ -1,10 +1,11 @@ using System; using System.ComponentModel.DataAnnotations.Schema; +using DevHive.Data.Interfaces.Models; namespace DevHive.Data.Models { [Table("Posts")] - public class Post + public class Post : IPost { public Guid Id { get; set; } diff --git a/src/DevHive.Data/Models/Role.cs b/src/DevHive.Data/Models/Role.cs index 63e6c7c..e63f007 100644 --- a/src/DevHive.Data/Models/Role.cs +++ b/src/DevHive.Data/Models/Role.cs @@ -1,12 +1,13 @@ -using System; -using Microsoft.AspNetCore.Identity; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; +using DevHive.Data.Interfaces.Models; +using Microsoft.AspNetCore.Identity; +using System; namespace DevHive.Data.Models { [Table("Roles")] - public class Role : IdentityRole + public class Role : IdentityRole, IRole { public const string DefaultRole = "User"; public const string AdminRole = "Admin"; diff --git a/src/DevHive.Data/Models/Technology.cs b/src/DevHive.Data/Models/Technology.cs index a462d20..36cec32 100644 --- a/src/DevHive.Data/Models/Technology.cs +++ b/src/DevHive.Data/Models/Technology.cs @@ -1,8 +1,9 @@ using System; +using DevHive.Data.Interfaces.Models; namespace DevHive.Data.Models { - public class Technology : IModel + public class Technology : ITechnology { public Guid Id { get; set; } public string Name { get; set; } diff --git a/src/DevHive.Data/Models/User.cs b/src/DevHive.Data/Models/User.cs index 7a213c7..944bf6a 100644 --- a/src/DevHive.Data/Models/User.cs +++ b/src/DevHive.Data/Models/User.cs @@ -1,12 +1,13 @@ using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; +using DevHive.Data.Interfaces.Models; using Microsoft.AspNetCore.Identity; namespace DevHive.Data.Models { [Table("Users")] - public class User : IdentityUser, IModel + public class User : IdentityUser, IUser { public string FirstName { get; set; } diff --git a/src/DevHive.Data/Repositories/LanguageRepository.cs b/src/DevHive.Data/Repositories/LanguageRepository.cs index b867a93..e644fc4 100644 --- a/src/DevHive.Data/Repositories/LanguageRepository.cs +++ b/src/DevHive.Data/Repositories/LanguageRepository.cs @@ -1,7 +1,7 @@ using System; using System.Threading.Tasks; using DevHive.Common.Models.Misc; -using DevHive.Data.Interfaces; +using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; using Microsoft.EntityFrameworkCore; diff --git a/src/DevHive.Data/Repositories/PostRepository.cs b/src/DevHive.Data/Repositories/PostRepository.cs index f5e9b7b..3be14e3 100644 --- a/src/DevHive.Data/Repositories/PostRepository.cs +++ b/src/DevHive.Data/Repositories/PostRepository.cs @@ -1,7 +1,7 @@ using System; using System.Threading.Tasks; using DevHive.Common.Models.Misc; -using DevHive.Data.Interfaces; +using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; using Microsoft.EntityFrameworkCore; @@ -107,4 +107,4 @@ namespace DevHive.Data.Repositories } #endregion } -} \ No newline at end of file +} diff --git a/src/DevHive.Data/Repositories/RoleRepository.cs b/src/DevHive.Data/Repositories/RoleRepository.cs index 4cd5b79..ca3fb8b 100644 --- a/src/DevHive.Data/Repositories/RoleRepository.cs +++ b/src/DevHive.Data/Repositories/RoleRepository.cs @@ -1,7 +1,7 @@ using System; using System.Threading.Tasks; using DevHive.Common.Models.Misc; -using DevHive.Data.Interfaces; +using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; using Microsoft.EntityFrameworkCore; diff --git a/src/DevHive.Data/Repositories/TechnologyRepository.cs b/src/DevHive.Data/Repositories/TechnologyRepository.cs index d81433c..1631972 100644 --- a/src/DevHive.Data/Repositories/TechnologyRepository.cs +++ b/src/DevHive.Data/Repositories/TechnologyRepository.cs @@ -1,7 +1,7 @@ using System; using System.Threading.Tasks; using DevHive.Common.Models.Misc; -using DevHive.Data.Interfaces; +using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; using Microsoft.EntityFrameworkCore; diff --git a/src/DevHive.Data/Repositories/UserRepository.cs b/src/DevHive.Data/Repositories/UserRepository.cs index da08a5a..c06fef6 100644 --- a/src/DevHive.Data/Repositories/UserRepository.cs +++ b/src/DevHive.Data/Repositories/UserRepository.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using DevHive.Common.Models.Misc; -using DevHive.Data.Interfaces; +using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; using Microsoft.EntityFrameworkCore; diff --git a/src/DevHive.Services/Services/LanguageService.cs b/src/DevHive.Services/Services/LanguageService.cs index c34537f..be035c2 100644 --- a/src/DevHive.Services/Services/LanguageService.cs +++ b/src/DevHive.Services/Services/LanguageService.cs @@ -1,7 +1,7 @@ using System; using System.Threading.Tasks; using AutoMapper; -using DevHive.Data.Interfaces; +using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; using DevHive.Services.Interfaces; using DevHive.Services.Models.Language; diff --git a/src/DevHive.Services/Services/PostService.cs b/src/DevHive.Services/Services/PostService.cs index 24ca8f3..6e83ad4 100644 --- a/src/DevHive.Services/Services/PostService.cs +++ b/src/DevHive.Services/Services/PostService.cs @@ -8,7 +8,7 @@ using DevHive.Services.Models.Post.Post; using System.IdentityModel.Tokens.Jwt; using System.Security.Claims; using DevHive.Services.Interfaces; -using DevHive.Data.Interfaces; +using DevHive.Data.Interfaces.Repositories; namespace DevHive.Services.Services { diff --git a/src/DevHive.Services/Services/RoleService.cs b/src/DevHive.Services/Services/RoleService.cs index fd56c2c..c38ac74 100644 --- a/src/DevHive.Services/Services/RoleService.cs +++ b/src/DevHive.Services/Services/RoleService.cs @@ -2,7 +2,7 @@ using System; using System.Threading.Tasks; using AutoMapper; using DevHive.Common.Models.Identity; -using DevHive.Data.Interfaces; +using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; using DevHive.Services.Interfaces; diff --git a/src/DevHive.Services/Services/TechnologyService.cs b/src/DevHive.Services/Services/TechnologyService.cs index 7fd0b2f..d8b7262 100644 --- a/src/DevHive.Services/Services/TechnologyService.cs +++ b/src/DevHive.Services/Services/TechnologyService.cs @@ -1,7 +1,7 @@ using System; using System.Threading.Tasks; using AutoMapper; -using DevHive.Data.Interfaces; +using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; using DevHive.Services.Interfaces; using DevHive.Services.Models.Technology; diff --git a/src/DevHive.Services/Services/UserService.cs b/src/DevHive.Services/Services/UserService.cs index 6619f60..ae657cc 100644 --- a/src/DevHive.Services/Services/UserService.cs +++ b/src/DevHive.Services/Services/UserService.cs @@ -15,7 +15,7 @@ using DevHive.Services.Models.Language; using DevHive.Services.Interfaces; using DevHive.Services.Models.Technology; using DevHive.Data.Repositories; -using DevHive.Data.Interfaces; +using DevHive.Data.Interfaces.Repositories; namespace DevHive.Services.Services { diff --git a/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj b/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj index 509ceef..81e7b2b 100644 --- a/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj +++ b/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj @@ -8,6 +8,7 @@ + diff --git a/src/DevHive.Tests/DevHive.Data.Tests/UserRepositoryTests.cs b/src/DevHive.Tests/DevHive.Data.Tests/UserRepositoryTests.cs index a88de7f..81f62db 100644 --- a/src/DevHive.Tests/DevHive.Data.Tests/UserRepositoryTests.cs +++ b/src/DevHive.Tests/DevHive.Data.Tests/UserRepositoryTests.cs @@ -1,5 +1,10 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using DevHive.Data.Models; using DevHive.Data.Repositories; using Microsoft.EntityFrameworkCore; +using Moq; using NUnit.Framework; namespace DevHive.Data.Tests @@ -9,19 +14,29 @@ namespace DevHive.Data.Tests { private DevHiveContext _context; private UserRepository _userRepository; + private User _dummyUser; [SetUp] public void Setup() { + //Naming convention: MethodName_ExpectedBehavior_StateUnderTest var options = new DbContextOptionsBuilder() .UseInMemoryDatabase("DevHive_UserRepository_Database"); this._context = new DevHiveContext(options.Options); this._userRepository = new UserRepository(_context); + + this._dummyUser = new Mock().Object; + + foreach (var item in _dummyUser.Langauges) + System.Console.WriteLine(item); + + foreach (var item in _dummyUser.Technologies) + System.Console.WriteLine(item); } [Test] - public void Test() + public void AddAsync_ShouldAddUserToDatabase() { } diff --git a/src/DevHive.Tests/DevHive.Services.Tests/TechnologyServices.Tests.cs b/src/DevHive.Tests/DevHive.Services.Tests/TechnologyServices.Tests.cs index 1f0b01e..d028957 100644 --- a/src/DevHive.Tests/DevHive.Services.Tests/TechnologyServices.Tests.cs +++ b/src/DevHive.Tests/DevHive.Services.Tests/TechnologyServices.Tests.cs @@ -1,5 +1,5 @@ using AutoMapper; -using DevHive.Data.Interfaces; +using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; using DevHive.Services.Models.Technology; using DevHive.Services.Services; diff --git a/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs b/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs index e1601e7..f93f801 100644 --- a/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs +++ b/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs @@ -1,4 +1,4 @@ -using DevHive.Data.Interfaces; +using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; using DevHive.Data.Repositories; using DevHive.Services.Interfaces; diff --git a/src/DevHive.Web/DevHive.Web.csproj b/src/DevHive.Web/DevHive.Web.csproj index 84cd92f..3bfa507 100644 --- a/src/DevHive.Web/DevHive.Web.csproj +++ b/src/DevHive.Web/DevHive.Web.csproj @@ -2,28 +2,27 @@ net5.0 + + true + latest + - - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - - - - - - + + + + + + - - + + - - - true - latest - \ No newline at end of file -- cgit v1.2.3 From 293b4ed2c24855cf01239c3dd27b93a325e648c3 Mon Sep 17 00:00:00 2001 From: transtrike Date: Tue, 19 Jan 2021 21:14:20 +0200 Subject: Updated Moq to newer version --- src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj | 2 +- src/DevHive.Tests/DevHive.Services.Tests/DevHive.Services.Tests.csproj | 2 +- src/DevHive.Tests/DevHive.Web.Tests/DevHive.Web.Tests.csproj | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj') diff --git a/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj b/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj index 81e7b2b..d320450 100644 --- a/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj +++ b/src/DevHive.Tests/DevHive.Data.Tests/DevHive.Data.Tests.csproj @@ -8,7 +8,7 @@ - + diff --git a/src/DevHive.Tests/DevHive.Services.Tests/DevHive.Services.Tests.csproj b/src/DevHive.Tests/DevHive.Services.Tests/DevHive.Services.Tests.csproj index c96dfb8..ce5cb62 100644 --- a/src/DevHive.Tests/DevHive.Services.Tests/DevHive.Services.Tests.csproj +++ b/src/DevHive.Tests/DevHive.Services.Tests/DevHive.Services.Tests.csproj @@ -8,7 +8,7 @@ - + diff --git a/src/DevHive.Tests/DevHive.Web.Tests/DevHive.Web.Tests.csproj b/src/DevHive.Tests/DevHive.Web.Tests/DevHive.Web.Tests.csproj index 47f40ee..a171e0b 100644 --- a/src/DevHive.Tests/DevHive.Web.Tests/DevHive.Web.Tests.csproj +++ b/src/DevHive.Tests/DevHive.Web.Tests/DevHive.Web.Tests.csproj @@ -7,7 +7,7 @@ - + -- cgit v1.2.3