From 503a23c04355624b133161c9356b139f2e4500f6 Mon Sep 17 00:00:00 2001 From: transtrike Date: Mon, 22 Feb 2021 21:51:41 +0200 Subject: Code cleanup of UserTests --- src/.editorconfig | 8 +- .../DevHive.Data.Tests/CommentRepository.Tests.cs | 18 +- .../DevHive.Data.Tests/FeedRepository.Tests.cs | 49 +- .../DevHive.Data.Tests/LenguageRepository.Tests.cs | 20 +- .../DevHive.Data.Tests/PostRepository.Tests.cs | 30 +- .../DevHive.Data.Tests/RoleRepository.Tests.cs | 39 +- .../TechnologyRepository.Tests.cs | 22 +- src/Data/DevHive.Data.Tests/UserRepositoryTests.cs | 183 +--- .../Migrations/20210216152915_Inital.cs | 1145 ++++++++++---------- .../DevHive.Services.Tests/CommentService.Tests.cs | 100 +- .../DevHive.Services.Tests/UserService.Tests.cs | 393 ++++--- 11 files changed, 980 insertions(+), 1027 deletions(-) diff --git a/src/.editorconfig b/src/.editorconfig index 7fa9b2a..757e49d 100644 --- a/src/.editorconfig +++ b/src/.editorconfig @@ -45,10 +45,10 @@ dotnet_diagnostic.IDE0055.severity = warning dotnet_sort_system_directives_first = true dotnet_separate_import_directive_groups = false # Avoid "this." and "Me." if not necessary -dotnet_style_qualification_for_field = false:refactoring -dotnet_style_qualification_for_property = false:refactoring -dotnet_style_qualification_for_method = false:refactoring -dotnet_style_qualification_for_event = false:refactoring +dotnet_style_qualification_for_field = true:refactoring +dotnet_style_qualification_for_property = true:refactoring +dotnet_style_qualification_for_method = true:refactoring +dotnet_style_qualification_for_event = true:refactoring # Use language keywords instead of framework type names for type references dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion diff --git a/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs b/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs index 9cbb43b..1fd8ad0 100644 --- a/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs @@ -20,18 +20,18 @@ namespace DevHive.Data.Tests [SetUp] public void Setup() { - var optionsBuilder = new DbContextOptionsBuilder() + DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder() .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); this.Context = new DevHiveContext(optionsBuilder.Options); - CommentRepository = new CommentRepository(Context); + this.CommentRepository = new CommentRepository(this.Context); } [TearDown] public void TearDown() { - this.Context.Database.EnsureDeleted(); + _ = this.Context.Database.EnsureDeleted(); } #endregion @@ -49,7 +49,7 @@ namespace DevHive.Data.Tests [Test] public async Task GetPostByCreatorAndTimeCreatedAsync_ReturnsNull_IfThePostDoesNotExist() { - Comment comment = await this.AddEntity(); + _ = await this.AddEntity(); Comment resultComment = await this.CommentRepository.GetCommentByIssuerAndTimeCreatedAsync(Guid.Empty, DateTime.Now); @@ -79,18 +79,18 @@ namespace DevHive.Data.Tests #endregion #region HelperMethods - private async Task AddEntity(string name = COMMENT_MESSAGE) + private async Task AddEntity() { - User creator = new User { Id = Guid.NewGuid() }; - Comment comment = new Comment + User creator = new() { Id = Guid.NewGuid() }; + Comment comment = new() { Message = COMMENT_MESSAGE, Creator = creator, TimeCreated = DateTime.Now }; - this.Context.Comments.Add(comment); - await this.Context.SaveChangesAsync(); + _ = this.Context.Comments.Add(comment); + _ = await this.Context.SaveChangesAsync(); return comment; } diff --git a/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs b/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs index f134bf3..eb5bce0 100644 --- a/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs @@ -19,18 +19,18 @@ namespace DevHive.Data.Tests [SetUp] public void Setup() { - var optionsBuilder = new DbContextOptionsBuilder() + DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder() .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); this.Context = new DevHiveContext(optionsBuilder.Options); - FeedRepository = new FeedRepository(Context); + this.FeedRepository = new FeedRepository(this.Context); } [TearDown] public void TearDown() { - this.Context.Database.EnsureDeleted(); + _ = this.Context.Database.EnsureDeleted(); } #endregion @@ -38,16 +38,15 @@ namespace DevHive.Data.Tests [Test] public async Task GetFriendsPosts_ReturnsListOfPosts_WhenTheyExist() { - User dummyUser = this.CreateDummyUser(); - List friendsList = new List(); - friendsList.Add(dummyUser); + User dummyUser = CreateDummyUser(); + List friendsList = new() + { + dummyUser + }; - DateTime dateTime = new DateTime(3000, 05, 09, 9, 15, 0); + DateTime dateTime = new(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; @@ -59,11 +58,13 @@ namespace DevHive.Data.Tests [Test] public async Task GetFriendsPosts_ReturnsNull_WhenNoSuitablePostsExist() { - User dummyUser = this.CreateDummyUser(); - List friendsList = new List(); - friendsList.Add(dummyUser); + User dummyUser = CreateDummyUser(); + List friendsList = new() + { + dummyUser + }; - DateTime dateTime = new DateTime(3000, 05, 09, 9, 15, 0); + DateTime dateTime = new(3000, 05, 09, 9, 15, 0); const int PAGE_NUMBER = 1; const int PAGE_SIZE = 10; @@ -75,7 +76,7 @@ namespace DevHive.Data.Tests #endregion #region HelperMethods - private User CreateDummyUser() + private static User CreateDummyUser() { HashSet roles = new() { @@ -96,24 +97,6 @@ namespace DevHive.Data.Tests 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/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs b/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs index f02a1e4..18d5959 100644 --- a/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs @@ -19,18 +19,18 @@ namespace DevHive.Data.Tests [SetUp] public void Setup() { - var optionsBuilder = new DbContextOptionsBuilder() + DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder() .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); this.Context = new DevHiveContext(optionsBuilder.Options); - LanguageRepository = new LanguageRepository(Context); + this.LanguageRepository = new LanguageRepository(this.Context); } [TearDown] public void TearDown() { - this.Context.Database.EnsureDeleted(); + _ = this.Context.Database.EnsureDeleted(); } #endregion @@ -38,9 +38,9 @@ namespace DevHive.Data.Tests [Test] public async Task GetByNameAsync_ReturnsTheCorrectLanguage_IfItExists() { - await AddEntity(); + await this.AddEntity(); - Language language = this.Context.Languages.Where(x => x.Name == LANGUAGE_NAME).ToList().FirstOrDefault(); + Language language = this.Context.Languages.Where(x => x.Name == LANGUAGE_NAME).AsEnumerable().FirstOrDefault(); Language languageResult = await this.LanguageRepository.GetByNameAsync(LANGUAGE_NAME); @@ -60,8 +60,8 @@ namespace DevHive.Data.Tests [Test] public async Task DoesLanguageExist_ReturnsTrue_IfIdExists() { - await AddEntity(); - Language language = this.Context.Languages.Where(x => x.Name == LANGUAGE_NAME).ToList().FirstOrDefault(); + await this.AddEntity(); + Language language = this.Context.Languages.Where(x => x.Name == LANGUAGE_NAME).AsEnumerable().FirstOrDefault(); Guid id = language.Id; @@ -85,7 +85,7 @@ namespace DevHive.Data.Tests [Test] public async Task DoesLanguageNameExist_ReturnsTrue_IfLanguageExists() { - await AddEntity(); + await this.AddEntity(); bool result = await this.LanguageRepository.DoesLanguageNameExistAsync(LANGUAGE_NAME); @@ -104,12 +104,12 @@ namespace DevHive.Data.Tests #region HelperMethods private async Task AddEntity(string name = LANGUAGE_NAME) { - Language language = new Language + Language language = new() { Name = name }; - await this.LanguageRepository.AddAsync(language); + _ = await this.LanguageRepository.AddAsync(language); } #endregion } diff --git a/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs b/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs index 6a0cccd..c57844e 100644 --- a/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs @@ -11,7 +11,7 @@ using NUnit.Framework; namespace DevHive.Data.Tests { - [TestFixture] + [TestFixture] public class PostRepositoryTests { private const string POST_MESSAGE = "Post test message"; @@ -26,20 +26,20 @@ namespace DevHive.Data.Tests [SetUp] public void Setup() { - var optionsBuilder = new DbContextOptionsBuilder() + DbContextOptionsBuilder 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); + this.PostRepository = new PostRepository(this.Context, this.UserRepository.Object); } [TearDown] public void TearDown() { - this.Context.Database.EnsureDeleted(); + _ = this.Context.Database.EnsureDeleted(); } #endregion @@ -49,11 +49,11 @@ namespace DevHive.Data.Tests // { // 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 @@ -62,7 +62,7 @@ namespace DevHive.Data.Tests [Test] public async Task GetByNameAsync_ReturnsTheCorrectPost_IfItExists() { - Post post = await AddEntity(); + Post post = await this.AddEntity(); Post resultTechnology = await this.PostRepository.GetByIdAsync(post.Id); @@ -92,7 +92,7 @@ namespace DevHive.Data.Tests [Test] public async Task GetPostByCreatorAndTimeCreatedAsync_ReturnsNull_IfThePostDoesNotExist() { - Post post = await this.AddEntity(); + _ = await this.AddEntity(); Post resutPost = await this.PostRepository.GetPostByCreatorAndTimeCreatedAsync(Guid.Empty, DateTime.Now); @@ -121,11 +121,11 @@ namespace DevHive.Data.Tests #endregion #region HelperMethods - private async Task AddEntity(string name = POST_MESSAGE) + private async Task AddEntity() { - User creator = new User { Id = Guid.NewGuid() }; - await this.Context.Users.AddAsync(creator); - Post post = new Post + User creator = new() { Id = Guid.NewGuid() }; + _ = await this.Context.Users.AddAsync(creator); + Post post = new() { Message = POST_MESSAGE, Id = Guid.NewGuid(), @@ -135,8 +135,8 @@ namespace DevHive.Data.Tests Comments = new List() }; - await this.Context.Posts.AddAsync(post); - await this.Context.SaveChangesAsync(); + _ = await this.Context.Posts.AddAsync(post); + _ = await this.Context.SaveChangesAsync(); return post; } diff --git a/src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs b/src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs index 7f62c24..2e43cf7 100644 --- a/src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs @@ -3,7 +3,9 @@ using System.Linq; using System.Threading.Tasks; using DevHive.Data.Models; using DevHive.Data.Repositories; +using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; +using Moq; using NUnit.Framework; namespace DevHive.Data.Tests @@ -12,27 +14,26 @@ namespace DevHive.Data.Tests public class RoleRepositoryTests { private const string ROLE_NAME = "Role test name"; - - protected DevHiveContext Context { get; set; } - - protected RoleRepository RoleRepository { get; set; } + private DevHiveContext _context; + private RoleRepository _roleRepository; #region Setups [SetUp] public void Setup() { - var optionsBuilder = new DbContextOptionsBuilder() + DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder() .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - this.Context = new DevHiveContext(optionsBuilder.Options); + this._context = new DevHiveContext(optionsBuilder.Options); - RoleRepository = new RoleRepository(Context); + Mock> roleManagerMock = new(); + this._roleRepository = new(this._context, roleManagerMock.Object); } [TearDown] public void TearDown() { - this.Context.Database.EnsureDeleted(); + _ = this._context.Database.EnsureDeleted(); } #endregion @@ -42,7 +43,7 @@ namespace DevHive.Data.Tests { Role role = await this.AddEntity(); - Role resultRole = await this.RoleRepository.GetByNameAsync(role.Name); + Role resultRole = await this._roleRepository.GetByNameAsync(role.Name); Assert.AreEqual(role.Id, resultRole.Id, "GetByNameAsync does not return the correct role"); } @@ -50,7 +51,7 @@ namespace DevHive.Data.Tests [Test] public async Task GetByNameAsync_ReturnsNull_WhenTheRoleDoesNotExist() { - Role resultRole = await this.RoleRepository.GetByNameAsync(ROLE_NAME); + Role resultRole = await this._roleRepository.GetByNameAsync(ROLE_NAME); Assert.IsNull(resultRole, "GetByNameAsync does not return when the role does not exist"); } @@ -62,7 +63,7 @@ namespace DevHive.Data.Tests { Role role = await this.AddEntity(); - bool result = await this.RoleRepository.DoesNameExist(role.Name); + bool result = await this._roleRepository.DoesNameExist(role.Name); Assert.IsTrue(result, "DoesNameExist returns false when the role name exist"); } @@ -70,7 +71,7 @@ namespace DevHive.Data.Tests [Test] public async Task DoesNameExist_ReturnsFalse_WhenTheNameDoesNotExist() { - bool result = await this.RoleRepository.DoesNameExist(ROLE_NAME); + bool result = await this._roleRepository.DoesNameExist(ROLE_NAME); Assert.IsFalse(result, "DoesNameExist returns false when the role name exist"); } @@ -80,11 +81,11 @@ namespace DevHive.Data.Tests [Test] public async Task DoesRoleExist_ReturnsTrue_IfIdExists() { - await AddEntity(); - Role role = this.Context.Roles.Where(x => x.Name == ROLE_NAME).ToList().FirstOrDefault(); + _ = await this.AddEntity(); + Role role = this._context.Roles.Where(x => x.Name == ROLE_NAME).AsEnumerable().FirstOrDefault(); Guid id = role.Id; - bool result = await this.RoleRepository.DoesRoleExist(id); + bool result = await this._roleRepository.DoesRoleExist(id); Assert.IsTrue(result, "DoesRoleExistAsync returns flase when role exists"); } @@ -94,7 +95,7 @@ namespace DevHive.Data.Tests { Guid id = Guid.NewGuid(); - bool result = await this.RoleRepository.DoesRoleExist(id); + bool result = await this._roleRepository.DoesRoleExist(id); Assert.IsFalse(result, "DoesRoleExist returns true when role does not exist"); } @@ -103,14 +104,14 @@ namespace DevHive.Data.Tests #region HelperMethods private async Task AddEntity(string name = ROLE_NAME) { - Role role = new Role + Role role = new() { Id = Guid.NewGuid(), Name = name }; - this.Context.Roles.Add(role); - await this.Context.SaveChangesAsync(); + _ = this._context.Roles.Add(role); + _ = await this._context.SaveChangesAsync(); return role; } diff --git a/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs b/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs index d25fd3b..f7fbacb 100644 --- a/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs @@ -21,18 +21,18 @@ namespace DevHive.Data.Tests [SetUp] public void Setup() { - var optionsBuilder = new DbContextOptionsBuilder() + DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder() .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); this.Context = new DevHiveContext(optionsBuilder.Options); - TechnologyRepository = new TechnologyRepository(Context); + this.TechnologyRepository = new TechnologyRepository(this.Context); } [TearDown] public void TearDown() { - this.Context.Database.EnsureDeleted(); + _ = this.Context.Database.EnsureDeleted(); } #endregion @@ -40,9 +40,9 @@ namespace DevHive.Data.Tests [Test] public async Task GetByNameAsync_ReturnsTheCorrectTechnology_IfItExists() { - await AddEntity(); + await this.AddEntity(); - Technology technology = this.Context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).ToList().FirstOrDefault(); + Technology technology = this.Context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).AsEnumerable().FirstOrDefault(); Technology resultTechnology = await this.TechnologyRepository.GetByNameAsync(TECHNOLOGY_NAME); @@ -62,8 +62,8 @@ namespace DevHive.Data.Tests [Test] public async Task DoesTechnologyExist_ReturnsTrue_IfIdExists() { - await AddEntity(); - Technology technology = this.Context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).ToList().FirstOrDefault(); + await this.AddEntity(); + Technology technology = this.Context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).AsEnumerable().FirstOrDefault(); Guid id = technology.Id; bool result = await this.TechnologyRepository.DoesTechnologyExistAsync(id); @@ -86,7 +86,7 @@ namespace DevHive.Data.Tests [Test] public async Task DoesTechnologyNameExist_ReturnsTrue_IfTechnologyExists() { - await AddEntity(); + await this.AddEntity(); bool result = await this.TechnologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME); @@ -105,13 +105,13 @@ namespace DevHive.Data.Tests #region HelperMethods private async Task AddEntity(string name = TECHNOLOGY_NAME) { - Technology technology = new Technology + Technology technology = new() { Name = name }; - this.Context.Technologies.Add(technology); - await this.Context.SaveChangesAsync(); + _ = this.Context.Technologies.Add(technology); + _ = await this.Context.SaveChangesAsync(); } #endregion } diff --git a/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs b/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs index 5f84e34..4ff5ef7 100644 --- a/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs +++ b/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs @@ -1,10 +1,12 @@ using System; using System.Collections.Generic; -using System.Linq; +using System.Threading; using System.Threading.Tasks; using DevHive.Data.Models; using DevHive.Data.Repositories; +using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; +using Moq; using NUnit.Framework; namespace DevHive.Data.Tests @@ -19,54 +21,46 @@ namespace DevHive.Data.Tests [SetUp] public void Setup() { - var options = new DbContextOptionsBuilder() + DbContextOptionsBuilder options = new DbContextOptionsBuilder() .UseInMemoryDatabase("DevHive_UserRepository_Database"); - this._context = new DevHiveContext(options.Options); - this._userRepository = new UserRepository(_context); + + Guid userId = Guid.NewGuid(); + Mock> userStore = new(); + userStore.Setup(x => x.FindByIdAsync(userId.ToString(), CancellationToken.None)) + .ReturnsAsync(new User() + { + Id = userId, + UserName = "test", + }); + Mock> userManagerMock = new(userStore.Object, null, null, null, null, null, null, null, null); + + Guid roleId = Guid.NewGuid(); + Mock> roleStore = new(); + roleStore.Setup(x => x.FindByIdAsync(roleId.ToString(), CancellationToken.None)) + .ReturnsAsync(new Role() + { + Id = roleId, + Name = "test", + }); + Mock> roleManagerMock = new(roleStore.Object, null, null, null, null); + this._userRepository = new(this._context, userManagerMock.Object, roleManagerMock.Object); } [TearDown] public async Task Teardown() { - await this._context.Database.EnsureDeletedAsync(); + _ = 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(); + User oldUser = CreateDummyUser(); + _ = this._context.Users.Add(oldUser); + _ = await this._context.SaveChangesAsync(); oldUser.UserName = "SuperSecretUserName"; bool result = await this._userRepository.EditAsync(oldUser.Id, oldUser); @@ -80,7 +74,7 @@ namespace DevHive.Data.Tests public async Task GetByIdAsync_ReturnsTheUse_WhenItExists() { User dummyUserOne = CreateDummyUser(); - await this._userRepository.AddAsync(dummyUserOne); + _ = await this._userRepository.AddAsync(dummyUserOne); User resultUser = await this._userRepository.GetByIdAsync(dummyUserOne.Id); @@ -104,7 +98,7 @@ namespace DevHive.Data.Tests { //Arrange User dummyUser = CreateDummyUser(); - await this._userRepository.AddAsync(dummyUser); + _ = await this._userRepository.AddAsync(dummyUser); string username = dummyUser.UserName; //Act @@ -129,9 +123,9 @@ namespace DevHive.Data.Tests [Test] public async Task DoesUserExistAsync_ReturnsTrue_WhenUserExists() { - User dummyUser = this.CreateDummyUser(); - this._context.Users.Add(dummyUser); - await this._context.SaveChangesAsync(); + User dummyUser = CreateDummyUser(); + _ = this._context.Users.Add(dummyUser); + _ = await this._context.SaveChangesAsync(); bool result = await this._userRepository.DoesUserExistAsync(dummyUser.Id); @@ -153,9 +147,9 @@ namespace DevHive.Data.Tests [Test] public async Task DoesUsernameExistAsync_ReturnsTrue_WhenUserWithTheNameExists() { - User dummyUser = this.CreateDummyUser(); - this._context.Users.Add(dummyUser); - await this._context.SaveChangesAsync(); + User dummyUser = CreateDummyUser(); + _ = this._context.Users.Add(dummyUser); + _ = await this._context.SaveChangesAsync(); bool result = await this._userRepository.DoesUsernameExistAsync(dummyUser.UserName); @@ -177,9 +171,9 @@ namespace DevHive.Data.Tests [Test] public async Task DoesEmailExistAsync_ReturnsTrue_WhenUserWithTheEmailExists() { - User dummyUser = this.CreateDummyUser(); - this._context.Users.Add(dummyUser); - await this._context.SaveChangesAsync(); + User dummyUser = CreateDummyUser(); + _ = this._context.Users.Add(dummyUser); + _ = await this._context.SaveChangesAsync(); bool result = await this._userRepository.DoesEmailExistAsync(dummyUser.Email); @@ -197,52 +191,15 @@ namespace DevHive.Data.Tests } #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 DoesUserHaveThisUsernameAsync [Test] public async Task DoesUserHaveThisUsername_ReturnsTrue_WhenUserHasTheGivenUsername() { - User dummyUser = this.CreateDummyUser(); - this._context.Users.Add(dummyUser); - await this._context.SaveChangesAsync(); + User dummyUser = CreateDummyUser(); + _ = this._context.Users.Add(dummyUser); + _ = await this._context.SaveChangesAsync(); - bool result = this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, dummyUser.UserName); + bool result = await this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, dummyUser.UserName); Assert.IsTrue(result, "DoesUserHaveThisUsernameAsync does not return true when the user has the given name"); } @@ -251,18 +208,18 @@ namespace DevHive.Data.Tests public async Task DoesUserHaveThisUsername_ReturnsFalse_WhenUserDoesntHaveTheGivenUsername() { string username = "Fake username"; - User dummyUser = this.CreateDummyUser(); - this._context.Users.Add(dummyUser); - await this._context.SaveChangesAsync(); + User dummyUser = CreateDummyUser(); + _ = this._context.Users.Add(dummyUser); + _ = await this._context.SaveChangesAsync(); - bool result = this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, username); + bool result = await this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, username); Assert.IsFalse(result, "DoesUserNameExistAsync does not return false when user doesnt have the given name"); } #endregion #region HelperMethods - private User CreateDummyUser() + private static User CreateDummyUser() { HashSet languages = new() { @@ -303,48 +260,6 @@ namespace DevHive.Data.Tests 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 } } diff --git a/src/Data/DevHive.Data/Migrations/20210216152915_Inital.cs b/src/Data/DevHive.Data/Migrations/20210216152915_Inital.cs index 131501e..4c5b982 100644 --- a/src/Data/DevHive.Data/Migrations/20210216152915_Inital.cs +++ b/src/Data/DevHive.Data/Migrations/20210216152915_Inital.cs @@ -1,586 +1,587 @@ -using System; +// +using System; using Microsoft.EntityFrameworkCore.Migrations; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace DevHive.Data.Migrations { - public partial class Inital : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "AspNetRoles", - columns: table => new - { - Id = table.Column(type: "uuid", nullable: false), - Name = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), - NormalizedName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), - ConcurrencyStamp = table.Column(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetRoles", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AspNetUsers", - columns: table => new - { - Id = table.Column(type: "uuid", nullable: false), - FirstName = table.Column(type: "text", nullable: true), - LastName = table.Column(type: "text", nullable: true), - UserId = table.Column(type: "uuid", nullable: true), - UserName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), - NormalizedUserName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), - Email = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), - NormalizedEmail = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), - EmailConfirmed = table.Column(type: "boolean", nullable: false), - PasswordHash = table.Column(type: "text", nullable: true), - SecurityStamp = table.Column(type: "text", nullable: true), - ConcurrencyStamp = table.Column(type: "text", nullable: true), - PhoneNumber = table.Column(type: "text", nullable: true), - PhoneNumberConfirmed = table.Column(type: "boolean", nullable: false), - TwoFactorEnabled = table.Column(type: "boolean", nullable: false), - LockoutEnd = table.Column(type: "timestamp with time zone", nullable: true), - LockoutEnabled = table.Column(type: "boolean", nullable: false), - AccessFailedCount = table.Column(type: "integer", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUsers", x => x.Id); - table.ForeignKey( - name: "FK_AspNetUsers_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "Languages", - columns: table => new - { - Id = table.Column(type: "uuid", nullable: false), - Name = table.Column(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Languages", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Technologies", - columns: table => new - { - Id = table.Column(type: "uuid", nullable: false), - Name = table.Column(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Technologies", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AspNetRoleClaims", - columns: table => new - { - Id = table.Column(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - RoleId = table.Column(type: "uuid", nullable: false), - ClaimType = table.Column(type: "text", nullable: true), - ClaimValue = table.Column(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id); - table.ForeignKey( - name: "FK_AspNetRoleClaims_AspNetRoles_RoleId", - column: x => x.RoleId, - principalTable: "AspNetRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AspNetUserClaims", - columns: table => new - { - Id = table.Column(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - UserId = table.Column(type: "uuid", nullable: false), - ClaimType = table.Column(type: "text", nullable: true), - ClaimValue = table.Column(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUserClaims", x => x.Id); - table.ForeignKey( - name: "FK_AspNetUserClaims_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AspNetUserLogins", - columns: table => new - { - LoginProvider = table.Column(type: "text", nullable: false), - ProviderKey = table.Column(type: "text", nullable: false), - ProviderDisplayName = table.Column(type: "text", nullable: true), - UserId = table.Column(type: "uuid", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey }); - table.ForeignKey( - name: "FK_AspNetUserLogins_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AspNetUserRoles", - columns: table => new - { - UserId = table.Column(type: "uuid", nullable: false), - RoleId = table.Column(type: "uuid", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId }); - table.ForeignKey( - name: "FK_AspNetUserRoles_AspNetRoles_RoleId", - column: x => x.RoleId, - principalTable: "AspNetRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_AspNetUserRoles_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AspNetUserTokens", - columns: table => new - { - UserId = table.Column(type: "uuid", nullable: false), - LoginProvider = table.Column(type: "text", nullable: false), - Name = table.Column(type: "text", nullable: false), - Value = table.Column(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); - table.ForeignKey( - name: "FK_AspNetUserTokens_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Posts", - columns: table => new - { - Id = table.Column(type: "uuid", nullable: false), - CreatorId = table.Column(type: "uuid", nullable: true), - Message = table.Column(type: "text", nullable: true), - TimeCreated = table.Column(type: "timestamp without time zone", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Posts", x => x.Id); - table.ForeignKey( - name: "FK_Posts_AspNetUsers_CreatorId", - column: x => x.CreatorId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "ProfilePicture", - columns: table => new - { - Id = table.Column(type: "uuid", nullable: false), - UserId = table.Column(type: "uuid", nullable: false), - PictureURL = table.Column(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_ProfilePicture", x => x.Id); - table.ForeignKey( - name: "FK_ProfilePicture_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "RoleUser", - columns: table => new - { - RolesId = table.Column(type: "uuid", nullable: false), - UsersId = table.Column(type: "uuid", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_RoleUser", x => new { x.RolesId, x.UsersId }); - table.ForeignKey( - name: "FK_RoleUser_AspNetRoles_RolesId", - column: x => x.RolesId, - principalTable: "AspNetRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_RoleUser_AspNetUsers_UsersId", - column: x => x.UsersId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "LanguageUser", - columns: table => new - { - LanguagesId = table.Column(type: "uuid", nullable: false), - UsersId = table.Column(type: "uuid", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_LanguageUser", x => new { x.LanguagesId, x.UsersId }); - table.ForeignKey( - name: "FK_LanguageUser_AspNetUsers_UsersId", - column: x => x.UsersId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_LanguageUser_Languages_LanguagesId", - column: x => x.LanguagesId, - principalTable: "Languages", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "TechnologyUser", - columns: table => new - { - TechnologiesId = table.Column(type: "uuid", nullable: false), - UsersId = table.Column(type: "uuid", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_TechnologyUser", x => new { x.TechnologiesId, x.UsersId }); - table.ForeignKey( - name: "FK_TechnologyUser_AspNetUsers_UsersId", - column: x => x.UsersId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_TechnologyUser_Technologies_TechnologiesId", - column: x => x.TechnologiesId, - principalTable: "Technologies", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Comments", - columns: table => new - { - Id = table.Column(type: "uuid", nullable: false), - PostId = table.Column(type: "uuid", nullable: true), - CreatorId = table.Column(type: "uuid", nullable: true), - Message = table.Column(type: "text", nullable: true), - TimeCreated = table.Column(type: "timestamp without time zone", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Comments", x => x.Id); - table.ForeignKey( - name: "FK_Comments_AspNetUsers_CreatorId", - column: x => x.CreatorId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "FK_Comments_Posts_PostId", - column: x => x.PostId, - principalTable: "Posts", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "PostAttachments", - columns: table => new - { - Id = table.Column(type: "uuid", nullable: false), - PostId = table.Column(type: "uuid", nullable: true), - FileUrl = table.Column(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_PostAttachments", x => x.Id); - table.ForeignKey( - name: "FK_PostAttachments_Posts_PostId", - column: x => x.PostId, - principalTable: "Posts", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "RatedPosts", - columns: table => new - { - UserId = table.Column(type: "uuid", nullable: false), - PostId = table.Column(type: "uuid", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_RatedPosts", x => new { x.UserId, x.PostId }); - table.ForeignKey( - name: "FK_RatedPosts_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_RatedPosts_Posts_PostId", - column: x => x.PostId, - principalTable: "Posts", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Rating", - columns: table => new - { - Id = table.Column(type: "uuid", nullable: false), - PostId = table.Column(type: "uuid", nullable: false), - Rate = table.Column(type: "integer", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Rating", x => x.Id); - table.ForeignKey( - name: "FK_Rating_Posts_PostId", - column: x => x.PostId, - principalTable: "Posts", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "UserRates", - columns: table => new - { - Id = table.Column(type: "uuid", nullable: false), - UserId = table.Column(type: "uuid", nullable: true), - Liked = table.Column(type: "boolean", nullable: false), - PostId = table.Column(type: "uuid", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_UserRates", x => x.Id); - table.ForeignKey( - name: "FK_UserRates_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "FK_UserRates_Posts_PostId", - column: x => x.PostId, - principalTable: "Posts", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateIndex( - name: "IX_AspNetRoleClaims_RoleId", - table: "AspNetRoleClaims", - column: "RoleId"); - - migrationBuilder.CreateIndex( - name: "RoleNameIndex", - table: "AspNetRoles", - column: "NormalizedName", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_AspNetUserClaims_UserId", - table: "AspNetUserClaims", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_AspNetUserLogins_UserId", - table: "AspNetUserLogins", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_AspNetUserRoles_RoleId", - table: "AspNetUserRoles", - column: "RoleId"); - - migrationBuilder.CreateIndex( - name: "EmailIndex", - table: "AspNetUsers", - column: "NormalizedEmail"); - - migrationBuilder.CreateIndex( - name: "IX_AspNetUsers_UserId", - table: "AspNetUsers", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_AspNetUsers_UserName", - table: "AspNetUsers", - column: "UserName", - unique: true); - - migrationBuilder.CreateIndex( - name: "UserNameIndex", - table: "AspNetUsers", - column: "NormalizedUserName", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_Comments_CreatorId", - table: "Comments", - column: "CreatorId"); - - migrationBuilder.CreateIndex( - name: "IX_Comments_PostId", - table: "Comments", - column: "PostId"); - - migrationBuilder.CreateIndex( - name: "IX_LanguageUser_UsersId", - table: "LanguageUser", - column: "UsersId"); - - migrationBuilder.CreateIndex( - name: "IX_PostAttachments_PostId", - table: "PostAttachments", - column: "PostId"); - - migrationBuilder.CreateIndex( - name: "IX_Posts_CreatorId", - table: "Posts", - column: "CreatorId"); - - migrationBuilder.CreateIndex( - name: "IX_ProfilePicture_UserId", - table: "ProfilePicture", - column: "UserId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_RatedPosts_PostId", - table: "RatedPosts", - column: "PostId"); - - migrationBuilder.CreateIndex( - name: "IX_Rating_PostId", - table: "Rating", - column: "PostId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_RoleUser_UsersId", - table: "RoleUser", - column: "UsersId"); - - migrationBuilder.CreateIndex( - name: "IX_TechnologyUser_UsersId", - table: "TechnologyUser", - column: "UsersId"); - - migrationBuilder.CreateIndex( - name: "IX_UserRates_PostId", - table: "UserRates", - column: "PostId"); - - migrationBuilder.CreateIndex( - name: "IX_UserRates_UserId", - table: "UserRates", - column: "UserId"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "AspNetRoleClaims"); - - migrationBuilder.DropTable( - name: "AspNetUserClaims"); - - migrationBuilder.DropTable( - name: "AspNetUserLogins"); - - migrationBuilder.DropTable( - name: "AspNetUserRoles"); - - migrationBuilder.DropTable( - name: "AspNetUserTokens"); - - migrationBuilder.DropTable( - name: "Comments"); - - migrationBuilder.DropTable( - name: "LanguageUser"); - - migrationBuilder.DropTable( - name: "PostAttachments"); - - migrationBuilder.DropTable( - name: "ProfilePicture"); - - migrationBuilder.DropTable( - name: "RatedPosts"); - - migrationBuilder.DropTable( - name: "Rating"); + public partial class Inital : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "AspNetRoles", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + Name = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), + NormalizedName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), + ConcurrencyStamp = table.Column(type: "text", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetRoles", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AspNetUsers", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + FirstName = table.Column(type: "text", nullable: true), + LastName = table.Column(type: "text", nullable: true), + UserId = table.Column(type: "uuid", nullable: true), + UserName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), + NormalizedUserName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), + Email = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), + NormalizedEmail = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), + EmailConfirmed = table.Column(type: "boolean", nullable: false), + PasswordHash = table.Column(type: "text", nullable: true), + SecurityStamp = table.Column(type: "text", nullable: true), + ConcurrencyStamp = table.Column(type: "text", nullable: true), + PhoneNumber = table.Column(type: "text", nullable: true), + PhoneNumberConfirmed = table.Column(type: "boolean", nullable: false), + TwoFactorEnabled = table.Column(type: "boolean", nullable: false), + LockoutEnd = table.Column(type: "timestamp with time zone", nullable: true), + LockoutEnabled = table.Column(type: "boolean", nullable: false), + AccessFailedCount = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUsers", x => x.Id); + table.ForeignKey( + name: "FK_AspNetUsers_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "Languages", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + Name = table.Column(type: "text", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Languages", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Technologies", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + Name = table.Column(type: "text", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Technologies", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AspNetRoleClaims", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + RoleId = table.Column(type: "uuid", nullable: false), + ClaimType = table.Column(type: "text", nullable: true), + ClaimValue = table.Column(type: "text", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id); + table.ForeignKey( + name: "FK_AspNetRoleClaims_AspNetRoles_RoleId", + column: x => x.RoleId, + principalTable: "AspNetRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AspNetUserClaims", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + UserId = table.Column(type: "uuid", nullable: false), + ClaimType = table.Column(type: "text", nullable: true), + ClaimValue = table.Column(type: "text", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUserClaims", x => x.Id); + table.ForeignKey( + name: "FK_AspNetUserClaims_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AspNetUserLogins", + columns: table => new + { + LoginProvider = table.Column(type: "text", nullable: false), + ProviderKey = table.Column(type: "text", nullable: false), + ProviderDisplayName = table.Column(type: "text", nullable: true), + UserId = table.Column(type: "uuid", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey }); + table.ForeignKey( + name: "FK_AspNetUserLogins_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AspNetUserRoles", + columns: table => new + { + UserId = table.Column(type: "uuid", nullable: false), + RoleId = table.Column(type: "uuid", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId }); + table.ForeignKey( + name: "FK_AspNetUserRoles_AspNetRoles_RoleId", + column: x => x.RoleId, + principalTable: "AspNetRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_AspNetUserRoles_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AspNetUserTokens", + columns: table => new + { + UserId = table.Column(type: "uuid", nullable: false), + LoginProvider = table.Column(type: "text", nullable: false), + Name = table.Column(type: "text", nullable: false), + Value = table.Column(type: "text", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); + table.ForeignKey( + name: "FK_AspNetUserTokens_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "Posts", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + CreatorId = table.Column(type: "uuid", nullable: true), + Message = table.Column(type: "text", nullable: true), + TimeCreated = table.Column(type: "timestamp without time zone", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Posts", x => x.Id); + table.ForeignKey( + name: "FK_Posts_AspNetUsers_CreatorId", + column: x => x.CreatorId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "ProfilePicture", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + UserId = table.Column(type: "uuid", nullable: false), + PictureURL = table.Column(type: "text", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_ProfilePicture", x => x.Id); + table.ForeignKey( + name: "FK_ProfilePicture_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "RoleUser", + columns: table => new + { + RolesId = table.Column(type: "uuid", nullable: false), + UsersId = table.Column(type: "uuid", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_RoleUser", x => new { x.RolesId, x.UsersId }); + table.ForeignKey( + name: "FK_RoleUser_AspNetRoles_RolesId", + column: x => x.RolesId, + principalTable: "AspNetRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_RoleUser_AspNetUsers_UsersId", + column: x => x.UsersId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "LanguageUser", + columns: table => new + { + LanguagesId = table.Column(type: "uuid", nullable: false), + UsersId = table.Column(type: "uuid", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_LanguageUser", x => new { x.LanguagesId, x.UsersId }); + table.ForeignKey( + name: "FK_LanguageUser_AspNetUsers_UsersId", + column: x => x.UsersId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_LanguageUser_Languages_LanguagesId", + column: x => x.LanguagesId, + principalTable: "Languages", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "TechnologyUser", + columns: table => new + { + TechnologiesId = table.Column(type: "uuid", nullable: false), + UsersId = table.Column(type: "uuid", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_TechnologyUser", x => new { x.TechnologiesId, x.UsersId }); + table.ForeignKey( + name: "FK_TechnologyUser_AspNetUsers_UsersId", + column: x => x.UsersId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_TechnologyUser_Technologies_TechnologiesId", + column: x => x.TechnologiesId, + principalTable: "Technologies", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "Comments", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + PostId = table.Column(type: "uuid", nullable: true), + CreatorId = table.Column(type: "uuid", nullable: true), + Message = table.Column(type: "text", nullable: true), + TimeCreated = table.Column(type: "timestamp without time zone", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Comments", x => x.Id); + table.ForeignKey( + name: "FK_Comments_AspNetUsers_CreatorId", + column: x => x.CreatorId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + table.ForeignKey( + name: "FK_Comments_Posts_PostId", + column: x => x.PostId, + principalTable: "Posts", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "PostAttachments", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + PostId = table.Column(type: "uuid", nullable: true), + FileUrl = table.Column(type: "text", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_PostAttachments", x => x.Id); + table.ForeignKey( + name: "FK_PostAttachments_Posts_PostId", + column: x => x.PostId, + principalTable: "Posts", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "RatedPosts", + columns: table => new + { + UserId = table.Column(type: "uuid", nullable: false), + PostId = table.Column(type: "uuid", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_RatedPosts", x => new { x.UserId, x.PostId }); + table.ForeignKey( + name: "FK_RatedPosts_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_RatedPosts_Posts_PostId", + column: x => x.PostId, + principalTable: "Posts", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "Rating", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + PostId = table.Column(type: "uuid", nullable: false), + Rate = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Rating", x => x.Id); + table.ForeignKey( + name: "FK_Rating_Posts_PostId", + column: x => x.PostId, + principalTable: "Posts", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "UserRates", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + UserId = table.Column(type: "uuid", nullable: true), + Liked = table.Column(type: "boolean", nullable: false), + PostId = table.Column(type: "uuid", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_UserRates", x => x.Id); + table.ForeignKey( + name: "FK_UserRates_AspNetUsers_UserId", + column: x => x.UserId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + table.ForeignKey( + name: "FK_UserRates_Posts_PostId", + column: x => x.PostId, + principalTable: "Posts", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateIndex( + name: "IX_AspNetRoleClaims_RoleId", + table: "AspNetRoleClaims", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "RoleNameIndex", + table: "AspNetRoles", + column: "NormalizedName", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_AspNetUserClaims_UserId", + table: "AspNetUserClaims", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_AspNetUserLogins_UserId", + table: "AspNetUserLogins", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_AspNetUserRoles_RoleId", + table: "AspNetUserRoles", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "EmailIndex", + table: "AspNetUsers", + column: "NormalizedEmail"); + + migrationBuilder.CreateIndex( + name: "IX_AspNetUsers_UserId", + table: "AspNetUsers", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_AspNetUsers_UserName", + table: "AspNetUsers", + column: "UserName", + unique: true); + + migrationBuilder.CreateIndex( + name: "UserNameIndex", + table: "AspNetUsers", + column: "NormalizedUserName", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_Comments_CreatorId", + table: "Comments", + column: "CreatorId"); + + migrationBuilder.CreateIndex( + name: "IX_Comments_PostId", + table: "Comments", + column: "PostId"); + + migrationBuilder.CreateIndex( + name: "IX_LanguageUser_UsersId", + table: "LanguageUser", + column: "UsersId"); + + migrationBuilder.CreateIndex( + name: "IX_PostAttachments_PostId", + table: "PostAttachments", + column: "PostId"); + + migrationBuilder.CreateIndex( + name: "IX_Posts_CreatorId", + table: "Posts", + column: "CreatorId"); + + migrationBuilder.CreateIndex( + name: "IX_ProfilePicture_UserId", + table: "ProfilePicture", + column: "UserId", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_RatedPosts_PostId", + table: "RatedPosts", + column: "PostId"); + + migrationBuilder.CreateIndex( + name: "IX_Rating_PostId", + table: "Rating", + column: "PostId", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_RoleUser_UsersId", + table: "RoleUser", + column: "UsersId"); + + migrationBuilder.CreateIndex( + name: "IX_TechnologyUser_UsersId", + table: "TechnologyUser", + column: "UsersId"); + + migrationBuilder.CreateIndex( + name: "IX_UserRates_PostId", + table: "UserRates", + column: "PostId"); + + migrationBuilder.CreateIndex( + name: "IX_UserRates_UserId", + table: "UserRates", + column: "UserId"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "AspNetRoleClaims"); + + migrationBuilder.DropTable( + name: "AspNetUserClaims"); + + migrationBuilder.DropTable( + name: "AspNetUserLogins"); + + migrationBuilder.DropTable( + name: "AspNetUserRoles"); + + migrationBuilder.DropTable( + name: "AspNetUserTokens"); + + migrationBuilder.DropTable( + name: "Comments"); + + migrationBuilder.DropTable( + name: "LanguageUser"); + + migrationBuilder.DropTable( + name: "PostAttachments"); + + migrationBuilder.DropTable( + name: "ProfilePicture"); + + migrationBuilder.DropTable( + name: "RatedPosts"); + + migrationBuilder.DropTable( + name: "Rating"); - migrationBuilder.DropTable( - name: "RoleUser"); + migrationBuilder.DropTable( + name: "RoleUser"); - migrationBuilder.DropTable( - name: "TechnologyUser"); + migrationBuilder.DropTable( + name: "TechnologyUser"); - migrationBuilder.DropTable( - name: "UserRates"); + migrationBuilder.DropTable( + name: "UserRates"); - migrationBuilder.DropTable( - name: "Languages"); + migrationBuilder.DropTable( + name: "Languages"); - migrationBuilder.DropTable( - name: "AspNetRoles"); + migrationBuilder.DropTable( + name: "AspNetRoles"); - migrationBuilder.DropTable( - name: "Technologies"); + migrationBuilder.DropTable( + name: "Technologies"); - migrationBuilder.DropTable( - name: "Posts"); + migrationBuilder.DropTable( + name: "Posts"); - migrationBuilder.DropTable( - name: "AspNetUsers"); - } - } + migrationBuilder.DropTable( + name: "AspNetUsers"); + } + } } diff --git a/src/Services/DevHive.Services.Tests/CommentService.Tests.cs b/src/Services/DevHive.Services.Tests/CommentService.Tests.cs index d511739..d843375 100644 --- a/src/Services/DevHive.Services.Tests/CommentService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/CommentService.Tests.cs @@ -37,22 +37,22 @@ namespace DevHive.Services.Tests public async Task AddComment_ReturnsNonEmptyGuid_WhenEntityIsAddedSuccessfully() { Guid id = Guid.NewGuid(); - User creator = new User { Id = Guid.NewGuid() }; - CreateCommentServiceModel createCommentServiceModel = new CreateCommentServiceModel + User creator = new() { Id = Guid.NewGuid() }; + CreateCommentServiceModel createCommentServiceModel = new() { Message = MESSAGE }; - Comment comment = new Comment + Comment comment = new() { Message = MESSAGE, Id = id, }; - this.CommentRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.CommentRepositoryMock.Setup(p => p.GetCommentByIssuerAndTimeCreatedAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(comment)); - this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(creator)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); + _ = this.CommentRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); + _ = this.CommentRepositoryMock.Setup(p => p.GetCommentByIssuerAndTimeCreatedAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(comment)); + _ = this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); + _ = this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(creator)); + _ = this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); Guid result = await this.CommentService.AddComment(createCommentServiceModel); @@ -62,18 +62,18 @@ namespace DevHive.Services.Tests [Test] public async Task AddComment_ReturnsEmptyGuid_WhenEntityIsNotAddedSuccessfully() { - CreateCommentServiceModel createCommentServiceModel = new CreateCommentServiceModel + CreateCommentServiceModel createCommentServiceModel = new() { Message = MESSAGE }; - Comment comment = new Comment + Comment comment = new() { Message = MESSAGE, }; - this.CommentRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); - this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); + _ = this.CommentRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); + _ = this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); + _ = this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); Guid result = await this.CommentService.AddComment(createCommentServiceModel); @@ -85,7 +85,7 @@ namespace DevHive.Services.Tests { const string EXCEPTION_MESSAGE = "Post does not exist!"; - CreateCommentServiceModel createCommentServiceModel = new CreateCommentServiceModel + CreateCommentServiceModel createCommentServiceModel = new() { Message = MESSAGE }; @@ -100,25 +100,25 @@ namespace DevHive.Services.Tests [Test] public async Task GetCommentById_ReturnsTheComment_WhenItExists() { - Guid creatorId = new Guid(); - User creator = new User { Id = creatorId }; - Comment comment = new Comment + Guid creatorId = new(); + User creator = new() { Id = creatorId }; + Comment comment = new() { Message = MESSAGE, Creator = creator }; - ReadCommentServiceModel commentServiceModel = new ReadCommentServiceModel + ReadCommentServiceModel commentServiceModel = new() { Message = MESSAGE }; - User user = new User + User user = new() { Id = creatorId, }; - this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); - this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(commentServiceModel); + _ = this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); + _ = this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); + _ = this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(commentServiceModel); ReadCommentServiceModel result = await this.CommentService.GetCommentById(new Guid()); @@ -129,15 +129,15 @@ namespace DevHive.Services.Tests public void GetCommentById_ThorwsException_WhenTheUserDoesNotExist() { const string EXCEPTION_MESSAGE = "The user does not exist"; - Guid creatorId = new Guid(); - User creator = new User { Id = creatorId }; - Comment comment = new Comment + Guid creatorId = new(); + User creator = new() { Id = creatorId }; + Comment comment = new() { Message = MESSAGE, Creator = creator }; - this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); + _ = this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); Exception ex = Assert.ThrowsAsync(() => this.CommentService.GetCommentById(new Guid()), "GetCommentById does not throw exception when the user does not exist"); @@ -148,14 +148,14 @@ namespace DevHive.Services.Tests public void GetCommentById_ThrowsException_WhenCommentDoesNotExist() { string exceptionMessage = "The comment does not exist"; - Guid creatorId = new Guid(); - User user = new User + Guid creatorId = new(); + User user = new() { Id = creatorId, }; - this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); - this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); + _ = this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + _ = this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); Exception ex = Assert.ThrowsAsync(() => this.CommentService.GetCommentById(new Guid())); @@ -168,21 +168,21 @@ namespace DevHive.Services.Tests public async Task UpdateComment_ReturnsTheIdOfTheComment_WhenUpdatedSuccessfully() { Guid id = Guid.NewGuid(); - Comment comment = new Comment + Comment comment = new() { Id = id, Message = MESSAGE }; - UpdateCommentServiceModel updateCommentServiceModel = new UpdateCommentServiceModel + UpdateCommentServiceModel updateCommentServiceModel = new() { CommentId = id, NewMessage = MESSAGE }; - this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); - this.CommentRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); + _ = this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); + _ = this.CommentRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + _ = this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); + _ = this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); Guid result = await this.CommentService.UpdateComment(updateCommentServiceModel); @@ -192,19 +192,19 @@ namespace DevHive.Services.Tests [Test] public async Task UpdateComment_ReturnsEmptyId_WhenTheCommentIsNotUpdatedSuccessfully() { - Comment comment = new Comment + Comment comment = new() { Message = MESSAGE }; - UpdateCommentServiceModel updateCommentServiceModel = new UpdateCommentServiceModel + UpdateCommentServiceModel updateCommentServiceModel = new() { CommentId = Guid.NewGuid(), NewMessage = MESSAGE }; - this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); - this.CommentRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); + _ = this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); + _ = this.CommentRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + _ = this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); Guid result = await this.CommentService.UpdateComment(updateCommentServiceModel); @@ -215,11 +215,11 @@ namespace DevHive.Services.Tests public void UpdateComment_ThrowsArgumentException_WhenCommentDoesNotExist() { string exceptionMessage = "Comment does not exist!"; - UpdateCommentServiceModel updateCommentServiceModel = new UpdateCommentServiceModel + UpdateCommentServiceModel updateCommentServiceModel = new() { }; - this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(false)); + _ = this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this.CommentService.UpdateComment(updateCommentServiceModel)); @@ -233,12 +233,12 @@ namespace DevHive.Services.Tests [TestCase(false)] public async Task DeleteComment_ShouldReturnIfDeletionIsSuccessfull_WhenCommentExists(bool shouldPass) { - Guid id = new Guid(); - Comment comment = new Comment(); + Guid id = new(); + Comment comment = new(); - this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); - this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); - this.CommentRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); + _ = this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); + _ = this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); + _ = this.CommentRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); bool result = await this.CommentService.DeleteComment(id); @@ -249,9 +249,9 @@ namespace DevHive.Services.Tests public void DeleteComment_ThrowsException_WhenCommentDoesNotExist() { string exceptionMessage = "Comment does not exist!"; - Guid id = new Guid(); + Guid id = new(); - this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(false)); + _ = this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this.CommentService.DeleteComment(id)); diff --git a/src/Services/DevHive.Services.Tests/UserService.Tests.cs b/src/Services/DevHive.Services.Tests/UserService.Tests.cs index 550106f..8642733 100644 --- a/src/Services/DevHive.Services.Tests/UserService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/UserService.Tests.cs @@ -20,31 +20,37 @@ using NUnit.Framework; namespace DevHive.Services.Tests { - [TestFixture] + [TestFixture] public class UserServiceTests { - private Mock CloudServiceMock { get; set; } - private Mock UserRepositoryMock { get; set; } - private Mock RoleRepositoryMock { get; set; } - private Mock LanguageRepositoryMock { get; set; } - private Mock TechnologyRepositoryMock { get; set; } - private Mock MapperMock { get; set; } - private JwtOptions JwtOptions { get; set; } - private UserService UserService { get; set; } + private Mock _cloudServiceMock; + private Mock _userRepositoryMock; + private Mock _roleRepositoryMock; + private Mock _languageRepositoryMock; + private Mock _technologyRepositoryMock; + private Mock _mapperMock; + private JwtOptions _jwtOptions; + private UserService _userService; #region SetUps [SetUp] public void Setup() { - this.UserRepositoryMock = new Mock(); - this.RoleRepositoryMock = new Mock(); - this.CloudServiceMock = new Mock(); - this.LanguageRepositoryMock = new Mock(); - this.TechnologyRepositoryMock = new Mock(); - this.JwtOptions = new JwtOptions("gXfQlU6qpDleFWyimscjYcT3tgFsQg3yoFjcvSLxG56n1Vu2yptdIUq254wlJWjm"); - this.MapperMock = new Mock(); - // TODO: give actual UserManager and RoleManager to UserService - this.UserService = new UserService(this.UserRepositoryMock.Object, this.LanguageRepositoryMock.Object, this.RoleRepositoryMock.Object, this.TechnologyRepositoryMock.Object, null, null, this.MapperMock.Object, this.JwtOptions, this.CloudServiceMock.Object); + this._userRepositoryMock = new Mock(); + this._roleRepositoryMock = new Mock(); + this._cloudServiceMock = new Mock(); + this._languageRepositoryMock = new Mock(); + this._technologyRepositoryMock = new Mock(); + this._jwtOptions = new JwtOptions("gXfQlU6qpDleFWyimscjYcT3tgFsQg3yoFjcvSLxG56n1Vu2yptdIUq254wlJWjm"); + this._mapperMock = new Mock(); + this._userService = new UserService( + this._userRepositoryMock.Object, + this._languageRepositoryMock.Object, + this._roleRepositoryMock.Object, + this._technologyRepositoryMock.Object, + this._mapperMock.Object, + this._jwtOptions, + this._cloudServiceMock.Object); } #endregion @@ -52,132 +58,149 @@ namespace DevHive.Services.Tests [Test] public async Task LoginUser_ReturnsTokenModel_WhenLoggingUserIn() { - string somePassword = "GoshoTrapovImaGolemChep"; - const string name = "GoshoTrapov"; - string hashedPassword = PasswordModifications.GeneratePasswordHash(somePassword); - LoginServiceModel loginServiceModel = new LoginServiceModel + string somePassword = "I'm_Nigga"; + + LoginServiceModel loginServiceModel = new() { Password = somePassword }; - User user = new User + User user = new() { Id = Guid.NewGuid(), - PasswordHash = hashedPassword, - UserName = name + PasswordHash = somePassword, + UserName = "g_trapov" }; - this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.UserRepositoryMock.Setup(p => p.GetByUsernameAsync(It.IsAny())).Returns(Task.FromResult(user)); - - string JWTSecurityToken = this.WriteJWTSecurityToken(user.Id, user.UserName, user.Roles); + this._userRepositoryMock.Setup(p => + p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._userRepositoryMock.Setup(p => + p.GetByUsernameAsync(It.IsAny())) + .Returns(Task.FromResult(user)); - TokenModel tokenModel = await this.UserService.LoginUser(loginServiceModel); + string jwtSecurityToken = this.WriteJWTSecurityToken(user.Id, user.UserName, user.Roles); + TokenModel tokenModel = await this._userService.LoginUser(loginServiceModel); - Assert.AreEqual(JWTSecurityToken, tokenModel.Token, "LoginUser does not return the correct token"); + Assert.AreEqual(jwtSecurityToken, tokenModel.Token, "LoginUser does not return the correct token"); } [Test] public void LoginUser_ThrowsException_WhenUserNameDoesNotExist() { - const string EXCEPTION_MESSAGE = "Invalid username!"; - LoginServiceModel loginServiceModel = new LoginServiceModel - { - }; + LoginServiceModel loginServiceModel = new(); - this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._userRepositoryMock.Setup(p => + p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); - Exception ex = Assert.ThrowsAsync(() => this.UserService.LoginUser(loginServiceModel)); + Exception ex = Assert.ThrowsAsync( + () => this._userService.LoginUser(loginServiceModel)); - Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorect Exception message"); + Assert.AreEqual("Invalid username!", ex.Message, "Incorrect Exception message"); } [Test] - public void LoginUser_ThroiwsException_WhenPasswordIsIncorect() + public void LoginUser_ThrowsException_WhenPasswordIsIncorrect() { - const string EXCEPTION_MESSAGE = "Incorrect password!"; - string somePassword = "GoshoTrapovImaGolemChep"; - LoginServiceModel loginServiceModel = new LoginServiceModel + string somePassword = "I'm_Nigga"; + + LoginServiceModel loginServiceModel = new() { Password = somePassword }; - User user = new User + User user = new() { Id = Guid.NewGuid(), - PasswordHash = "InvalidPasswordHas" }; - this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.UserRepositoryMock.Setup(p => p.GetByUsernameAsync(It.IsAny())).Returns(Task.FromResult(user)); + this._userRepositoryMock.Setup(p => + p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._userRepositoryMock.Setup(p => + p.GetByUsernameAsync(It.IsAny())) + .Returns(Task.FromResult(user)); - Exception ex = Assert.ThrowsAsync(() => this.UserService.LoginUser(loginServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._userService.LoginUser(loginServiceModel)); - Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorect Exception message"); + Assert.AreEqual("Incorrect password!", ex.Message, "Incorrect Exception message"); } #endregion #region RegisterUser - // [Test] - // public async Task RegisterUser_ReturnsTokenModel_WhenUserIsSuccessfull() - // { - // string somePassword = "GoshoTrapovImaGolemChep"; - // const string name = "GoshoTrapov"; - // RegisterServiceModel registerServiceModel = new RegisterServiceModel - // { - // Password = somePassword - // }; - // User user = new User - // { - // Id = Guid.NewGuid(), - // UserName = name - // }; - // Role role = new Role { Name = Role.DefaultRole }; - // HashSet roles = new HashSet { role }; - // - // this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - // this.UserRepositoryMock.Setup(p => p.DoesEmailExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - // this.RoleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(true)); - // this.RoleRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny())).Returns(Task.FromResult(role)); - // this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(user); - // this.UserRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Verifiable(); - // - // string JWTSecurityToken = this.WriteJWTSecurityToken(user.Id, user.UserName, roles); - // - // TokenModel tokenModel = await this.UserService.RegisterUser(registerServiceModel); - // - // Mock.Verify(); - // Assert.AreEqual(JWTSecurityToken, tokenModel.Token, "RegisterUser does not return the correct token"); - // } + [Test] + public async Task RegisterUser_ReturnsTokenModel_WhenUserIsSuccessfull() + { + Guid userId = Guid.NewGuid(); + RegisterServiceModel registerServiceModel = new() + { + Password = "ImNigga" + }; + User user = new() + { + Id = userId, + UserName = "g_trapov" + }; + Role role = new() { Name = Role.DefaultRole }; + HashSet roles = new() { role }; + + this._userRepositoryMock.Setup(p => + p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._userRepositoryMock.Setup(p => + p.DoesEmailExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._userRepositoryMock.Setup(p => + p.AddAsync(It.IsAny())) + .ReturnsAsync(true); + + this._roleRepositoryMock.Setup(p => + p.DoesNameExist(It.IsAny())) + .Returns(Task.FromResult(true)); + this._roleRepositoryMock.Setup(p => + p.GetByNameAsync(It.IsAny())) + .Returns(Task.FromResult(role)); + + this._mapperMock.Setup(p => + p.Map(It.IsAny())) + .Returns(user); + + string jwtSecurityToken = this.WriteJWTSecurityToken(user.Id, user.UserName, roles); + TokenModel tokenModel = await this._userService.RegisterUser(registerServiceModel); + + Assert.AreEqual(jwtSecurityToken, tokenModel.Token, "RegisterUser does not return the correct token"); + } [Test] public void RegisterUser_ThrowsException_WhenUsernameAlreadyExists() { const string EXCEPTION_MESSAGE = "Username already exists!"; - RegisterServiceModel registerServiceModel = new RegisterServiceModel - { - }; + RegisterServiceModel registerServiceModel = new(); - this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._userRepositoryMock.Setup(p => + p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); - Exception ex = Assert.ThrowsAsync(() => this.UserService.RegisterUser(registerServiceModel)); + Exception ex = Assert.ThrowsAsync( + () => this._userService.RegisterUser(registerServiceModel)); - Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorect Exception message"); + Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorrect Exception message"); } [Test] public void RegisterUser_ThrowsException_WhenEmailAlreadyExists() { - const string EXCEPTION_MESSAGE = "Email already exists!"; - - RegisterServiceModel registerServiceModel = new RegisterServiceModel - { - }; + RegisterServiceModel registerServiceModel = new(); - this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - this.UserRepositoryMock.Setup(p => p.DoesEmailExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._userRepositoryMock.Setup(p => + p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._userRepositoryMock.Setup(p => + p.DoesEmailExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); - Exception ex = Assert.ThrowsAsync(() => this.UserService.RegisterUser(registerServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._userService.RegisterUser(registerServiceModel)); - Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorect Exception message"); + Assert.AreEqual("Email already exists!", ex.Message, "Incorrect Exception message"); } #endregion @@ -185,34 +208,37 @@ namespace DevHive.Services.Tests [Test] public async Task GetUserById_ReturnsTheUser_WhenItExists() { - Guid id = new Guid(); - string name = "Gosho Trapov"; - User user = new() - { - }; - UserServiceModel userServiceModel = new UserServiceModel + Guid id = new(); + string username = "g_trapov"; + User user = new(); + UserServiceModel userServiceModel = new() { - UserName = name + UserName = username }; - this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(userServiceModel); + this._userRepositoryMock.Setup(p => + p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(user)); + this._mapperMock.Setup(p => + p.Map(It.IsAny())) + .Returns(userServiceModel); - UserServiceModel result = await this.UserService.GetUserById(id); + UserServiceModel result = await this._userService.GetUserById(id); - Assert.AreEqual(name, result.UserName); + Assert.AreEqual(username, result.UserName); } [Test] public void GetTechnologyById_ThrowsException_WhenTechnologyDoesNotExist() { - const string EXCEPTION_MESSEGE = "User does not exist!"; - Guid id = new Guid(); - this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + Guid id = new(); + this._userRepositoryMock.Setup(p => + p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(null)); - Exception ex = Assert.ThrowsAsync(() => this.UserService.GetUserById(id)); + Exception ex = Assert.ThrowsAsync(() => this._userService.GetUserById(id)); - Assert.AreEqual(EXCEPTION_MESSEGE, ex.Message, "Incorecct exception message"); + Assert.AreEqual("User does not exist!", ex.Message, "Incorrect exception message"); } #endregion @@ -220,32 +246,37 @@ namespace DevHive.Services.Tests [Test] public async Task GetUserByUsername_ReturnsTheCorrectUser_IfItExists() { - string username = "Gosho Trapov"; - User user = new User(); - UserServiceModel userServiceModel = new UserServiceModel + string username = "g_trapov"; + User user = new(); + UserServiceModel userServiceModel = new() { UserName = username }; - this.UserRepositoryMock.Setup(p => p.GetByUsernameAsync(It.IsAny())).Returns(Task.FromResult(user)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(userServiceModel); + this._userRepositoryMock.Setup(p => + p.GetByUsernameAsync(It.IsAny())) + .Returns(Task.FromResult(user)); + this._mapperMock.Setup(p => + p.Map(It.IsAny())) + .Returns(userServiceModel); - UserServiceModel result = await this.UserService.GetUserByUsername(username); + UserServiceModel result = await this._userService.GetUserByUsername(username); Assert.AreEqual(username, result.UserName, "GetUserByUsername does not return the correct user"); } [Test] - public async Task GetUserByUsername_ThrowsException_IfUserDoesNotExist() + public void GetUserByUsername_ThrowsException_IfUserDoesNotExist() { - string username = "Gosho Trapov"; - const string EXCEPTION_MESSEGE = "User does not exist!"; + string username = "g_trapov"; - this.UserRepositoryMock.Setup(p => p.GetByUsernameAsync(It.IsAny())).Returns(Task.FromResult(null)); + this._userRepositoryMock.Setup(p => + p.GetByUsernameAsync(It.IsAny())) + .Returns(Task.FromResult(null)); - Exception ex = Assert.ThrowsAsync(() => this.UserService.GetUserByUsername(username)); + Exception ex = Assert.ThrowsAsync(() => this._userService.GetUserByUsername(username)); - Assert.AreEqual(EXCEPTION_MESSEGE, ex.Message, "Incorecct exception message"); + Assert.AreEqual("User does not exist!", ex.Message, "Incorrect exception message"); } #endregion @@ -255,76 +286,90 @@ namespace DevHive.Services.Tests // [TestCase(false)] // public async Task UpdateUser_ReturnsIfUpdateIsSuccessfull_WhenUserExistsy(bool shouldPass) // { - // string name = "Gosho Trapov"; + // string username = "g_trapov"; // Guid id = Guid.NewGuid(); // User user = new User // { - // UserName = name, + // UserName = username, // Id = id, // }; // UpdateUserServiceModel updateUserServiceModel = new UpdateUserServiceModel // { - // UserName = name, + // UserName = username, // }; // UserServiceModel userServiceModel = new UserServiceModel // { - // UserName = name, + // UserName = username, // }; // Role role = new Role { }; - // - // this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - // this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - // this.UserRepositoryMock.Setup(p => p.DoesUserHaveThisUsernameAsync(It.IsAny(), It.IsAny())).Returns(true); - // this.UserRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(shouldPass)); - // this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - // this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(user); - // this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(userServiceModel); - // + // + // this._userRepositoryMock.Setup(p => + // p.DoesUserExistAsync(It.IsAny())) + // .Returns(Task.FromResult(true)); + // this._userRepositoryMock.Setup(p => + // p.DoesUsernameExistAsync(It.IsAny())) + // .Returns(Task.FromResult(false)); + // this._userRepositoryMock.Setup(p => + // p.DoesUserHaveThisUsernameAsync(It.IsAny(), It.IsAny())) + // .Returns(true); + // this._userRepositoryMock.Setup(p => + // p.EditAsync(It.IsAny(), It.IsAny())) + // .Returns(Task.FromResult(shouldPass)); + // this._userRepositoryMock.Setup(p => + // p.GetByIdAsync(It.IsAny())) + // .Returns(Task.FromResult(user)); + // this._mapperMock.Setup(p => + // p.Map(It.IsAny())) + // .Returns(user); + // this._mapperMock.Setup(p => + // p.Map(It.IsAny())) + // .Returns(userServiceModel); + // // if (shouldPass) // { - // UserServiceModel result = await this.UserService.UpdateUser(updateUserServiceModel); - // + // UserServiceModel result = await this._userService.UpdateUser(updateUserServiceModel); + // // Assert.AreEqual(updateUserServiceModel.UserName, result.UserName); // } // else // { // const string EXCEPTION_MESSAGE = "Unable to edit user!"; - // - // Exception ex = Assert.ThrowsAsync(() => this.UserService.UpdateUser(updateUserServiceModel)); - // - // Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorecct exception message"); + // + // Exception ex = Assert.ThrowsAsync(() => this._userService.UpdateUser(updateUserServiceModel)); + // + // Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorrect exception message"); // } // } [Test] public void UpdateUser_ThrowsException_WhenUserDoesNotExist() { - const string EXCEPTION_MESSAGE = "User does not exist!"; - UpdateUserServiceModel updateUserServiceModel = new UpdateUserServiceModel - { - }; + UpdateUserServiceModel updateUserServiceModel = new(); - this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._userRepositoryMock.Setup(p => + p.DoesUserExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); - Exception ex = Assert.ThrowsAsync(() => this.UserService.UpdateUser(updateUserServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._userService.UpdateUser(updateUserServiceModel)); - Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorecct exception message"); + Assert.AreEqual("User does not exist!", ex.Message, "Incorrect exception message"); } [Test] public void UpdateUser_ThrowsException_WhenUserNameAlreadyExists() { - const string EXCEPTION_MESSAGE = "Username already exists!"; - UpdateUserServiceModel updateUserServiceModel = new UpdateUserServiceModel - { - }; + UpdateUserServiceModel updateUserServiceModel = new(); - this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._userRepositoryMock.Setup(p => + p.DoesUserExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._userRepositoryMock.Setup(p => + p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); - Exception ex = Assert.ThrowsAsync(() => this.UserService.UpdateUser(updateUserServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._userService.UpdateUser(updateUserServiceModel)); - Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorecct exception message"); + Assert.AreEqual("Username already exists!", ex.Message, "Incorrect exception message"); } #endregion @@ -337,41 +382,49 @@ namespace DevHive.Services.Tests // { // Guid id = new Guid(); // User user = new User(); - // - // this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - // this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - // this.UserRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); - // - // bool result = await this.UserService.DeleteUser(id); - // + // + // this._userRepositoryMock.Setup(p => + // p.DoesUserExistAsync(It.IsAny())) + // .Returns(Task.FromResult(true)); + // this._userRepositoryMock.Setup(p => + // p.GetByIdAsync(It.IsAny())) + // .Returns(Task.FromResult(user)); + // this._userRepositoryMock.Setup(p => + // p.DeleteAsync(It.IsAny())) + // .Returns(Task.FromResult(shouldPass)); + // + // bool result = await this._userService.DeleteUser(id); + // // Assert.AreEqual(shouldPass, result); // } - // + // [Test] public void DeleteUser_ThrowsException_WhenUserDoesNotExist() { string exceptionMessage = "User does not exist!"; - Guid id = new Guid(); + Guid id = new(); - this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._userRepositoryMock.Setup(p => + p.DoesUserExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); - Exception ex = Assert.ThrowsAsync(() => this.UserService.DeleteUser(id)); + Exception ex = Assert.ThrowsAsync(() => this._userService.DeleteUser(id)); - Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); + Assert.AreEqual(exceptionMessage, ex.Message, "Incorrect exception message"); } #endregion #region HelperMethods private string WriteJWTSecurityToken(Guid userId, string username, HashSet roles) { - byte[] signingKey = Encoding.ASCII.GetBytes(this.JwtOptions.Secret); + byte[] signingKey = Encoding.ASCII.GetBytes(this._jwtOptions.Secret); HashSet claims = new() { new Claim("ID", $"{userId}"), new Claim("Username", username), }; - foreach (var role in roles) + foreach (Role role in roles) { claims.Add(new Claim(ClaimTypes.Role, role.Name)); } -- cgit v1.2.3 From f986ca67edd425c32eaec5a20fecdc5786f9d8e3 Mon Sep 17 00:00:00 2001 From: Danail Dimitrov Date: Wed, 3 Mar 2021 10:27:26 +0200 Subject: Fixing bugs in rating layer --- src/Data/DevHive.Data/Repositories/RatingRepository.cs | 4 ++++ src/Services/DevHive.Services/Interfaces/IRatingService.cs | 2 -- src/Services/DevHive.Services/Services/RatingService.cs | 8 +------- src/Web/DevHive.Web.Models/Rating/UpdateRatingWebModel.cs | 4 ---- src/Web/DevHive.Web/Controllers/RatingController.cs | 3 ++- 5 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/Data/DevHive.Data/Repositories/RatingRepository.cs b/src/Data/DevHive.Data/Repositories/RatingRepository.cs index 9bb2368..1784144 100644 --- a/src/Data/DevHive.Data/Repositories/RatingRepository.cs +++ b/src/Data/DevHive.Data/Repositories/RatingRepository.cs @@ -30,6 +30,8 @@ namespace DevHive.Data.Repositories public async Task> GetRatingsByPostId(Guid postId) { return await this._context.Rating + .Include(x => x.User) + .Include(x => x.Post) .Where(x => x.Post.Id == postId).ToListAsync(); } public async Task UserRatedPost(Guid userId, Guid postId) @@ -41,6 +43,8 @@ namespace DevHive.Data.Repositories public async Task GetRatingByUserAndPostId(Guid userId, Guid postId) { return await this._context.Rating + .Include(x => x.User) + .Include(x => x.Post) .FirstOrDefaultAsync(x => x.Post.Id == postId && x.User.Id == userId); } diff --git a/src/Services/DevHive.Services/Interfaces/IRatingService.cs b/src/Services/DevHive.Services/Interfaces/IRatingService.cs index beea821..b262f45 100644 --- a/src/Services/DevHive.Services/Interfaces/IRatingService.cs +++ b/src/Services/DevHive.Services/Interfaces/IRatingService.cs @@ -16,7 +16,5 @@ namespace DevHive.Services.Interfaces Task UpdateRating(UpdateRatingServiceModel updateRatingServiceModel); Task DeleteRating(Guid ratingId); - - Task HasUserRatedThisPost(Guid userId, Guid postId); } } diff --git a/src/Services/DevHive.Services/Services/RatingService.cs b/src/Services/DevHive.Services/Services/RatingService.cs index 6ddba1c..6d0d0b9 100644 --- a/src/Services/DevHive.Services/Services/RatingService.cs +++ b/src/Services/DevHive.Services/Services/RatingService.cs @@ -81,7 +81,7 @@ namespace DevHive.Services.Services #region Update public async Task UpdateRating(UpdateRatingServiceModel updateRatingServiceModel) { - Rating rating = await this._ratingRepository.GetByIdAsync(updateRatingServiceModel.Id) ?? + Rating rating = await this._ratingRepository.GetRatingByUserAndPostId(updateRatingServiceModel.UserId, updateRatingServiceModel.PostId) ?? throw new ArgumentException("Rating does not exist!"); User user = await this._userRepository.GetByIdAsync(updateRatingServiceModel.UserId) ?? @@ -115,11 +115,5 @@ namespace DevHive.Services.Services return await this._ratingRepository.DeleteAsync(rating); } #endregion - - public async Task HasUserRatedThisPost(Guid userId, Guid postId) - { - return await this._ratingRepository - .UserRatedPost(userId, postId); - } } } diff --git a/src/Web/DevHive.Web.Models/Rating/UpdateRatingWebModel.cs b/src/Web/DevHive.Web.Models/Rating/UpdateRatingWebModel.cs index 425c3e1..176c099 100644 --- a/src/Web/DevHive.Web.Models/Rating/UpdateRatingWebModel.cs +++ b/src/Web/DevHive.Web.Models/Rating/UpdateRatingWebModel.cs @@ -8,10 +8,6 @@ namespace DevHive.Web.Models.Rating { public class UpdateRatingWebModel { - public Guid Id { get; set; } - - public Guid PostId { get; set; } - public bool IsLike { get; set; } } } diff --git a/src/Web/DevHive.Web/Controllers/RatingController.cs b/src/Web/DevHive.Web/Controllers/RatingController.cs index 5716b85..8d3ac92 100644 --- a/src/Web/DevHive.Web/Controllers/RatingController.cs +++ b/src/Web/DevHive.Web/Controllers/RatingController.cs @@ -65,7 +65,7 @@ namespace DevHive.Web.Controllers } [HttpPut] - public async Task UpdateRating(Guid userId, [FromBody] UpdateRatingWebModel updateRatingWebModel, [FromHeader] string authorization) + public async Task UpdateRating(Guid userId, Guid postId, [FromBody] UpdateRatingWebModel updateRatingWebModel, [FromHeader] string authorization) { if (!this._jwtService.ValidateToken(userId, authorization)) return new UnauthorizedResult(); @@ -73,6 +73,7 @@ namespace DevHive.Web.Controllers UpdateRatingServiceModel updateRatingServiceModel = this._mapper.Map(updateRatingWebModel); updateRatingServiceModel.UserId = userId; + updateRatingServiceModel.PostId = postId; ReadRatingServiceModel readRatingServiceModel = await this._rateService.UpdateRating(updateRatingServiceModel); -- cgit v1.2.3 From 5486896004672d5646834054d0536b6b025763ee Mon Sep 17 00:00:00 2001 From: Danail Dimitrov Date: Wed, 3 Mar 2021 10:33:31 +0200 Subject: addint updated migartion for rating --- ...0303083146_rating_migrations_update.Designer.cs | 675 +++++++++++++++++++++ .../20210303083146_rating_migrations_update.cs | 24 + .../Migrations/DevHiveContextModelSnapshot.cs | 3 - 3 files changed, 699 insertions(+), 3 deletions(-) create mode 100644 src/Data/DevHive.Data/Migrations/20210303083146_rating_migrations_update.Designer.cs create mode 100644 src/Data/DevHive.Data/Migrations/20210303083146_rating_migrations_update.cs diff --git a/src/Data/DevHive.Data/Migrations/20210303083146_rating_migrations_update.Designer.cs b/src/Data/DevHive.Data/Migrations/20210303083146_rating_migrations_update.Designer.cs new file mode 100644 index 0000000..ff5dd1c --- /dev/null +++ b/src/Data/DevHive.Data/Migrations/20210303083146_rating_migrations_update.Designer.cs @@ -0,0 +1,675 @@ +// +using System; +using DevHive.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +namespace DevHive.Data.Migrations +{ + [DbContext(typeof(DevHiveContext))] + [Migration("20210303083146_rating_migrations_update")] + partial class rating_migrations_update + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Relational:MaxIdentifierLength", 63) + .HasAnnotation("ProductVersion", "5.0.3") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + modelBuilder.Entity("DevHive.Data.Models.Comment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreatorId") + .HasColumnType("uuid"); + + b.Property("Message") + .HasColumnType("text"); + + b.Property("PostId") + .HasColumnType("uuid"); + + b.Property("TimeCreated") + .HasColumnType("timestamp without time zone"); + + b.HasKey("Id"); + + b.HasIndex("CreatorId"); + + b.HasIndex("PostId"); + + b.ToTable("Comments"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Language", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Name") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Languages"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Post", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreatorId") + .HasColumnType("uuid"); + + b.Property("Message") + .HasColumnType("text"); + + b.Property("TimeCreated") + .HasColumnType("timestamp without time zone"); + + b.HasKey("Id"); + + b.HasIndex("CreatorId"); + + b.ToTable("Posts"); + }); + + modelBuilder.Entity("DevHive.Data.Models.ProfilePicture", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("PictureURL") + .HasColumnType("text"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("ProfilePicture"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Rating", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("IsLike") + .HasColumnType("boolean"); + + b.Property("PostId") + .HasColumnType("uuid"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("PostId"); + + b.HasIndex("UserId"); + + b.ToTable("Rating"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Relational.PostAttachments", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("FileUrl") + .HasColumnType("text"); + + b.Property("PostId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("PostId"); + + b.ToTable("PostAttachments"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Relational.RatedPost", b => + { + b.Property("UserId") + .HasColumnType("uuid"); + + b.Property("PostId") + .HasColumnType("uuid"); + + b.HasKey("UserId", "PostId"); + + b.HasIndex("PostId"); + + b.ToTable("RatedPosts"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Relational.UserRate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Liked") + .HasColumnType("boolean"); + + b.Property("PostId") + .HasColumnType("uuid"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("PostId"); + + b.HasIndex("UserId"); + + b.ToTable("UserRates"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Role", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex"); + + b.ToTable("AspNetRoles"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Technology", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Name") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Technologies"); + }); + + modelBuilder.Entity("DevHive.Data.Models.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AccessFailedCount") + .HasColumnType("integer"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("boolean"); + + b.Property("FirstName") + .HasColumnType("text"); + + b.Property("LastName") + .HasColumnType("text"); + + b.Property("LockoutEnabled") + .HasColumnType("boolean"); + + b.Property("LockoutEnd") + .HasColumnType("timestamp with time zone"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("PasswordHash") + .HasColumnType("text"); + + b.Property("PhoneNumber") + .HasColumnType("text"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("boolean"); + + b.Property("SecurityStamp") + .HasColumnType("text"); + + b.Property("TwoFactorEnabled") + .HasColumnType("boolean"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex"); + + b.HasIndex("UserId"); + + b.HasIndex("UserName") + .IsUnique(); + + b.ToTable("AspNetUsers"); + }); + + modelBuilder.Entity("LanguageUser", b => + { + b.Property("LanguagesId") + .HasColumnType("uuid"); + + b.Property("UsersId") + .HasColumnType("uuid"); + + b.HasKey("LanguagesId", "UsersId"); + + b.HasIndex("UsersId"); + + b.ToTable("LanguageUser"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("ProviderKey") + .HasColumnType("text"); + + b.Property("ProviderDisplayName") + .HasColumnType("text"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("uuid"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("uuid"); + + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("Value") + .HasColumnType("text"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens"); + }); + + modelBuilder.Entity("RoleUser", b => + { + b.Property("RolesId") + .HasColumnType("uuid"); + + b.Property("UsersId") + .HasColumnType("uuid"); + + b.HasKey("RolesId", "UsersId"); + + b.HasIndex("UsersId"); + + b.ToTable("RoleUser"); + }); + + modelBuilder.Entity("TechnologyUser", b => + { + b.Property("TechnologiesId") + .HasColumnType("uuid"); + + b.Property("UsersId") + .HasColumnType("uuid"); + + b.HasKey("TechnologiesId", "UsersId"); + + b.HasIndex("UsersId"); + + b.ToTable("TechnologyUser"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Comment", b => + { + b.HasOne("DevHive.Data.Models.User", "Creator") + .WithMany("Comments") + .HasForeignKey("CreatorId"); + + b.HasOne("DevHive.Data.Models.Post", "Post") + .WithMany("Comments") + .HasForeignKey("PostId"); + + b.Navigation("Creator"); + + b.Navigation("Post"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Post", b => + { + b.HasOne("DevHive.Data.Models.User", "Creator") + .WithMany("Posts") + .HasForeignKey("CreatorId"); + + b.Navigation("Creator"); + }); + + modelBuilder.Entity("DevHive.Data.Models.ProfilePicture", b => + { + b.HasOne("DevHive.Data.Models.User", "User") + .WithOne("ProfilePicture") + .HasForeignKey("DevHive.Data.Models.ProfilePicture", "UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Rating", b => + { + b.HasOne("DevHive.Data.Models.Post", "Post") + .WithMany("Ratings") + .HasForeignKey("PostId"); + + b.HasOne("DevHive.Data.Models.User", "User") + .WithMany() + .HasForeignKey("UserId"); + + b.Navigation("Post"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Relational.PostAttachments", b => + { + b.HasOne("DevHive.Data.Models.Post", "Post") + .WithMany("Attachments") + .HasForeignKey("PostId"); + + b.Navigation("Post"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Relational.RatedPost", b => + { + b.HasOne("DevHive.Data.Models.Post", "Post") + .WithMany() + .HasForeignKey("PostId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("DevHive.Data.Models.User", "User") + .WithMany("RatedPosts") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Post"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("DevHive.Data.Models.Relational.UserRate", b => + { + b.HasOne("DevHive.Data.Models.Post", "Post") + .WithMany() + .HasForeignKey("PostId"); + + b.HasOne("DevHive.Data.Models.User", "User") + .WithMany() + .HasForeignKey("UserId"); + + b.Navigation("Post"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("DevHive.Data.Models.User", b => + { + b.HasOne("DevHive.Data.Models.User", null) + .WithMany("Friends") + .HasForeignKey("UserId"); + }); + + modelBuilder.Entity("LanguageUser", b => + { + b.HasOne("DevHive.Data.Models.Language", null) + .WithMany() + .HasForeignKey("LanguagesId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("DevHive.Data.Models.User", null) + .WithMany() + .HasForeignKey("UsersId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("DevHive.Data.Models.Role", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("DevHive.Data.Models.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("DevHive.Data.Models.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("DevHive.Data.Models.Role", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("DevHive.Data.Models.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("DevHive.Data.Models.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("RoleUser", b => + { + b.HasOne("DevHive.Data.Models.Role", null) + .WithMany() + .HasForeignKey("RolesId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("DevHive.Data.Models.User", null) + .WithMany() + .HasForeignKey("UsersId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("TechnologyUser", b => + { + b.HasOne("DevHive.Data.Models.Technology", null) + .WithMany() + .HasForeignKey("TechnologiesId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("DevHive.Data.Models.User", null) + .WithMany() + .HasForeignKey("UsersId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("DevHive.Data.Models.Post", b => + { + b.Navigation("Attachments"); + + b.Navigation("Comments"); + + b.Navigation("Ratings"); + }); + + modelBuilder.Entity("DevHive.Data.Models.User", b => + { + b.Navigation("Comments"); + + b.Navigation("Friends"); + + b.Navigation("Posts"); + + b.Navigation("ProfilePicture"); + + b.Navigation("RatedPosts"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/Data/DevHive.Data/Migrations/20210303083146_rating_migrations_update.cs b/src/Data/DevHive.Data/Migrations/20210303083146_rating_migrations_update.cs new file mode 100644 index 0000000..073ba50 --- /dev/null +++ b/src/Data/DevHive.Data/Migrations/20210303083146_rating_migrations_update.cs @@ -0,0 +1,24 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace DevHive.Data.Migrations +{ + public partial class rating_migrations_update : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "CurrentRating", + table: "Posts"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "CurrentRating", + table: "Posts", + type: "integer", + nullable: false, + defaultValue: 0); + } + } +} diff --git a/src/Data/DevHive.Data/Migrations/DevHiveContextModelSnapshot.cs b/src/Data/DevHive.Data/Migrations/DevHiveContextModelSnapshot.cs index a722cb2..80e3ac0 100644 --- a/src/Data/DevHive.Data/Migrations/DevHiveContextModelSnapshot.cs +++ b/src/Data/DevHive.Data/Migrations/DevHiveContextModelSnapshot.cs @@ -69,9 +69,6 @@ namespace DevHive.Data.Migrations b.Property("CreatorId") .HasColumnType("uuid"); - b.Property("CurrentRating") - .HasColumnType("integer"); - b.Property("Message") .HasColumnType("text"); -- cgit v1.2.3 From 55df3e16982c18b37d9a734215be3e00f64a8e19 Mon Sep 17 00:00:00 2001 From: Danail Dimitrov Date: Wed, 3 Mar 2021 10:43:22 +0200 Subject: Adding Post.CurrentRating functionality --- src/Services/DevHive.Services/Services/PostService.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Services/DevHive.Services/Services/PostService.cs b/src/Services/DevHive.Services/Services/PostService.cs index a3d5117..a565473 100644 --- a/src/Services/DevHive.Services/Services/PostService.cs +++ b/src/Services/DevHive.Services/Services/PostService.cs @@ -76,11 +76,21 @@ namespace DevHive.Services.Services User user = await this._userRepository.GetByIdAsync(post.Creator.Id) ?? throw new ArgumentException("The user does not exist!"); + int currentRating = 0; + foreach (Rating rating in post.Ratings) + { + if (rating.IsLike) + currentRating++; + else + currentRating--; + } + ReadPostServiceModel readPostServiceModel = this._postMapper.Map(post); readPostServiceModel.CreatorFirstName = user.FirstName; readPostServiceModel.CreatorLastName = user.LastName; readPostServiceModel.CreatorUsername = user.UserName; readPostServiceModel.FileUrls = post.Attachments.Select(x => x.FileUrl).ToList(); + readPostServiceModel.CurrentRating = currentRating; return readPostServiceModel; } -- cgit v1.2.3 From 4612913c72c3d2b4d3e28629df9f2ed97f0c29a9 Mon Sep 17 00:00:00 2001 From: Danail Dimitrov Date: Wed, 3 Mar 2021 10:55:28 +0200 Subject: Moved Rating service models outside of Post folder --- .../Post/Rating/CreateRatingServiceModel.cs | 13 ------------- .../Post/Rating/ReadRatingServiceModel.cs | 15 --------------- .../Post/Rating/UpdateRatingServiceModel.cs | 15 --------------- .../Rating/CreateRatingServiceModel.cs | 13 +++++++++++++ .../Rating/ReadRatingServiceModel.cs | 15 +++++++++++++++ .../Rating/UpdateRatingServiceModel.cs | 15 +++++++++++++++ .../Configurations/Mapping/RatingMappings.cs | 2 +- .../DevHive.Services/Interfaces/IRatingService.cs | 2 +- src/Services/DevHive.Services/Services/RatingService.cs | 2 +- .../DevHive.Web/Configurations/Mapping/RatingMappings.cs | 2 +- src/Web/DevHive.Web/Controllers/RatingController.cs | 2 +- 11 files changed, 48 insertions(+), 48 deletions(-) delete mode 100644 src/Services/DevHive.Services.Models/Post/Rating/CreateRatingServiceModel.cs delete mode 100644 src/Services/DevHive.Services.Models/Post/Rating/ReadRatingServiceModel.cs delete mode 100644 src/Services/DevHive.Services.Models/Post/Rating/UpdateRatingServiceModel.cs create mode 100644 src/Services/DevHive.Services.Models/Rating/CreateRatingServiceModel.cs create mode 100644 src/Services/DevHive.Services.Models/Rating/ReadRatingServiceModel.cs create mode 100644 src/Services/DevHive.Services.Models/Rating/UpdateRatingServiceModel.cs diff --git a/src/Services/DevHive.Services.Models/Post/Rating/CreateRatingServiceModel.cs b/src/Services/DevHive.Services.Models/Post/Rating/CreateRatingServiceModel.cs deleted file mode 100644 index aaeab73..0000000 --- a/src/Services/DevHive.Services.Models/Post/Rating/CreateRatingServiceModel.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; - -namespace DevHive.Services.Models.Post.Rating -{ - public class CreateRatingServiceModel - { - public Guid UserId { get; set; } - - public Guid PostId { get; set; } - - public bool IsLike { get; set; } - } -} diff --git a/src/Services/DevHive.Services.Models/Post/Rating/ReadRatingServiceModel.cs b/src/Services/DevHive.Services.Models/Post/Rating/ReadRatingServiceModel.cs deleted file mode 100644 index 86b4957..0000000 --- a/src/Services/DevHive.Services.Models/Post/Rating/ReadRatingServiceModel.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; - -namespace DevHive.Services.Models.Post.Rating -{ - public class ReadRatingServiceModel - { - public Guid Id { get; set; } - - public Guid PostId { get; set; } - - public Guid UserId { get; set; } - - public bool IsLike { get; set; } - } -} diff --git a/src/Services/DevHive.Services.Models/Post/Rating/UpdateRatingServiceModel.cs b/src/Services/DevHive.Services.Models/Post/Rating/UpdateRatingServiceModel.cs deleted file mode 100644 index 1ea8d8f..0000000 --- a/src/Services/DevHive.Services.Models/Post/Rating/UpdateRatingServiceModel.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; - -namespace DevHive.Services.Models.Post.Rating -{ - public class UpdateRatingServiceModel - { - public Guid Id { get; set; } - - public Guid UserId { get; set; } - - public Guid PostId { get; set; } - - public bool IsLike { get; set; } - } -} diff --git a/src/Services/DevHive.Services.Models/Rating/CreateRatingServiceModel.cs b/src/Services/DevHive.Services.Models/Rating/CreateRatingServiceModel.cs new file mode 100644 index 0000000..486e3d2 --- /dev/null +++ b/src/Services/DevHive.Services.Models/Rating/CreateRatingServiceModel.cs @@ -0,0 +1,13 @@ +using System; + +namespace DevHive.Services.Models.Rating +{ + public class CreateRatingServiceModel + { + public Guid UserId { get; set; } + + public Guid PostId { get; set; } + + public bool IsLike { get; set; } + } +} diff --git a/src/Services/DevHive.Services.Models/Rating/ReadRatingServiceModel.cs b/src/Services/DevHive.Services.Models/Rating/ReadRatingServiceModel.cs new file mode 100644 index 0000000..56a5ab0 --- /dev/null +++ b/src/Services/DevHive.Services.Models/Rating/ReadRatingServiceModel.cs @@ -0,0 +1,15 @@ +using System; + +namespace DevHive.Services.Models.Rating +{ + public class ReadRatingServiceModel + { + public Guid Id { get; set; } + + public Guid PostId { get; set; } + + public Guid UserId { get; set; } + + public bool IsLike { get; set; } + } +} diff --git a/src/Services/DevHive.Services.Models/Rating/UpdateRatingServiceModel.cs b/src/Services/DevHive.Services.Models/Rating/UpdateRatingServiceModel.cs new file mode 100644 index 0000000..923e789 --- /dev/null +++ b/src/Services/DevHive.Services.Models/Rating/UpdateRatingServiceModel.cs @@ -0,0 +1,15 @@ +using System; + +namespace DevHive.Services.Models.Rating +{ + public class UpdateRatingServiceModel + { + public Guid Id { get; set; } + + public Guid UserId { get; set; } + + public Guid PostId { get; set; } + + public bool IsLike { get; set; } + } +} diff --git a/src/Services/DevHive.Services/Configurations/Mapping/RatingMappings.cs b/src/Services/DevHive.Services/Configurations/Mapping/RatingMappings.cs index 4534511..9ad5f25 100644 --- a/src/Services/DevHive.Services/Configurations/Mapping/RatingMappings.cs +++ b/src/Services/DevHive.Services/Configurations/Mapping/RatingMappings.cs @@ -1,6 +1,6 @@ using AutoMapper; using DevHive.Data.Models; -using DevHive.Services.Models.Post.Rating; +using DevHive.Services.Models.Rating; namespace DevHive.Services.Configurations.Mapping { diff --git a/src/Services/DevHive.Services/Interfaces/IRatingService.cs b/src/Services/DevHive.Services/Interfaces/IRatingService.cs index b262f45..be33300 100644 --- a/src/Services/DevHive.Services/Interfaces/IRatingService.cs +++ b/src/Services/DevHive.Services/Interfaces/IRatingService.cs @@ -1,7 +1,7 @@ using System; using System.Threading.Tasks; using DevHive.Data.Models; -using DevHive.Services.Models.Post.Rating; +using DevHive.Services.Models.Rating; namespace DevHive.Services.Interfaces { diff --git a/src/Services/DevHive.Services/Services/RatingService.cs b/src/Services/DevHive.Services/Services/RatingService.cs index 6d0d0b9..1f77a6e 100644 --- a/src/Services/DevHive.Services/Services/RatingService.cs +++ b/src/Services/DevHive.Services/Services/RatingService.cs @@ -8,7 +8,7 @@ using AutoMapper; using DevHive.Data.Interfaces; using DevHive.Data.Models; using DevHive.Services.Interfaces; -using DevHive.Services.Models.Post.Rating; +using DevHive.Services.Models.Rating; namespace DevHive.Services.Services { diff --git a/src/Web/DevHive.Web/Configurations/Mapping/RatingMappings.cs b/src/Web/DevHive.Web/Configurations/Mapping/RatingMappings.cs index 23c3eeb..1d731d8 100644 --- a/src/Web/DevHive.Web/Configurations/Mapping/RatingMappings.cs +++ b/src/Web/DevHive.Web/Configurations/Mapping/RatingMappings.cs @@ -1,5 +1,5 @@ using AutoMapper; -using DevHive.Services.Models.Post.Rating; +using DevHive.Services.Models.Rating; using DevHive.Web.Models.Rating; namespace DevHive.Web.Configurations.Mapping diff --git a/src/Web/DevHive.Web/Controllers/RatingController.cs b/src/Web/DevHive.Web/Controllers/RatingController.cs index 8d3ac92..c93a56d 100644 --- a/src/Web/DevHive.Web/Controllers/RatingController.cs +++ b/src/Web/DevHive.Web/Controllers/RatingController.cs @@ -3,7 +3,7 @@ using System.Threading.Tasks; using AutoMapper; using DevHive.Common.Jwt.Interfaces; using DevHive.Services.Interfaces; -using DevHive.Services.Models.Post.Rating; +using DevHive.Services.Models.Rating; using DevHive.Web.Models.Rating; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; -- cgit v1.2.3 From 95693f70a2314eab65ac289580d264fe12c42a06 Mon Sep 17 00:00:00 2001 From: Danail Dimitrov Date: Wed, 3 Mar 2021 10:56:48 +0200 Subject: Adding authorization to Rating Controller --- src/Web/DevHive.Web/Controllers/RatingController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Web/DevHive.Web/Controllers/RatingController.cs b/src/Web/DevHive.Web/Controllers/RatingController.cs index c93a56d..8c44243 100644 --- a/src/Web/DevHive.Web/Controllers/RatingController.cs +++ b/src/Web/DevHive.Web/Controllers/RatingController.cs @@ -11,7 +11,7 @@ using Microsoft.AspNetCore.Mvc; namespace DevHive.Web.Controllers { [ApiController] - //[Authorize(Roles = "Admin,User")] + [Authorize(Roles = "Admin,User")] [Route("api/[controller]")] public class RatingController { -- cgit v1.2.3 From 6cc1bceebfa1ed01472303db226c000c2345b016 Mon Sep 17 00:00:00 2001 From: Danail Dimitrov Date: Wed, 3 Mar 2021 10:57:49 +0200 Subject: Removed _userService from RatingController --- src/Web/DevHive.Web/Controllers/RatingController.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Web/DevHive.Web/Controllers/RatingController.cs b/src/Web/DevHive.Web/Controllers/RatingController.cs index 8c44243..f6ab0c5 100644 --- a/src/Web/DevHive.Web/Controllers/RatingController.cs +++ b/src/Web/DevHive.Web/Controllers/RatingController.cs @@ -16,14 +16,12 @@ namespace DevHive.Web.Controllers public class RatingController { private readonly IRatingService _rateService; - private readonly IUserService _userService; private readonly IMapper _mapper; private readonly IJwtService _jwtService; - public RatingController(IRatingService rateService, IUserService userService, IMapper mapper, IJwtService jwtService) + public RatingController(IRatingService rateService, IMapper mapper, IJwtService jwtService) { this._rateService = rateService; - this._userService = userService; this._mapper = mapper; this._jwtService = jwtService; } -- cgit v1.2.3 From b3fd74a4207334b7b31e9450a078bd10437648c3 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 13 Mar 2021 08:46:31 +0200 Subject: Fixed type in delete rating method name in rating controller --- src/Web/DevHive.Web/Controllers/RatingController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Web/DevHive.Web/Controllers/RatingController.cs b/src/Web/DevHive.Web/Controllers/RatingController.cs index f6ab0c5..7d21795 100644 --- a/src/Web/DevHive.Web/Controllers/RatingController.cs +++ b/src/Web/DevHive.Web/Controllers/RatingController.cs @@ -85,7 +85,7 @@ namespace DevHive.Web.Controllers } [HttpDelete] - public async Task DeleteTating(Guid userId, Guid ratingId, [FromHeader] string authorization) + public async Task DeleteRating(Guid userId, Guid ratingId, [FromHeader] string authorization) { if (!this._jwtService.ValidateToken(userId, authorization)) return new UnauthorizedResult(); -- cgit v1.2.3 From b2d6b607a116f1d3d491ac24c484a26f0c956688 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 13 Mar 2021 08:46:50 +0200 Subject: Added tests for rating controller --- .../DevHive.Web.Tests/RatingController.Tests.cs | 257 +++++++++++++++++++++ 1 file changed, 257 insertions(+) create mode 100644 src/Web/DevHive.Web.Tests/RatingController.Tests.cs diff --git a/src/Web/DevHive.Web.Tests/RatingController.Tests.cs b/src/Web/DevHive.Web.Tests/RatingController.Tests.cs new file mode 100644 index 0000000..dd8954f --- /dev/null +++ b/src/Web/DevHive.Web.Tests/RatingController.Tests.cs @@ -0,0 +1,257 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using AutoMapper; +using DevHive.Common.Jwt.Interfaces; +using DevHive.Services.Interfaces; +using DevHive.Services.Models.Rating; +using DevHive.Web.Controllers; +using DevHive.Web.Models.Rating; +using Microsoft.AspNetCore.Mvc; +using Moq; +using NUnit.Framework; + +namespace DevHive.Web.Tests +{ + [TestFixture] + public class RatingControllerTests + { + private Mock RatingServiceMock { get; set; } + private Mock MapperMock { get; set; } + private Mock JwtServiceMock { get; set; } + private RatingController RatingController { get; set; } + + [SetUp] + public void SetUp() + { + this.RatingServiceMock = new Mock(); + this.MapperMock = new Mock(); + this.JwtServiceMock = new Mock(); + this.RatingController = new RatingController(this.RatingServiceMock.Object, this.MapperMock.Object, this.JwtServiceMock.Object); + } + + #region Create + [Test] + public void CreateRating_ReturnsOkObjectResult_WhenRatingIsSuccessfullyCreated() + { + Guid postId = Guid.NewGuid(); + CreateRatingWebModel createRatingWebModel = new CreateRatingWebModel + { + PostId = postId, + IsLike = true + }; + CreateRatingServiceModel createRatingServiceModel = new CreateRatingServiceModel + { + PostId = postId, + IsLike = true + }; + Guid ratingId = Guid.NewGuid(); + + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createRatingServiceModel); + this.RatingServiceMock.Setup(p => p.RatePost(It.IsAny())).Returns(Task.FromResult(ratingId)); + + IActionResult result = this.RatingController.RatePost(Guid.Empty, createRatingWebModel, String.Empty).Result; + + Assert.IsInstanceOf(result); + + var splitted = (result as OkObjectResult).Value + .ToString() + .Split('{', '}', '=', ' ') + .Where(x => !string.IsNullOrEmpty(x)) + .ToArray(); + + Guid resultId = Guid.Parse(splitted[1]); + + Assert.AreEqual(ratingId, resultId); + } + + [Test] + public void CreateRating_ReturnsBadRequestResult_WhenRatingIsNotSuccessfullyCreated() + { + Guid postId = Guid.NewGuid(); + CreateRatingWebModel createRatingWebModel = new CreateRatingWebModel + { + PostId = postId, + IsLike = true + }; + CreateRatingServiceModel createRatingServiceModel = new CreateRatingServiceModel + { + PostId = postId, + IsLike = true + }; + Guid ratingId = Guid.NewGuid(); + + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createRatingServiceModel); + this.RatingServiceMock.Setup(p => p.RatePost(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); + + IActionResult result = this.RatingController.RatePost(Guid.Empty, createRatingWebModel, String.Empty).Result; + + Assert.IsInstanceOf(result); + } + #endregion + + #region Read + [Test] + public void GetRatingById_ReturnsTheRating_WhenItExists() + { + Guid id = Guid.NewGuid(); + Guid userId = Guid.NewGuid(); + Guid postId = Guid.NewGuid(); + ReadRatingWebModel readRatingWebModel = new ReadRatingWebModel + { + Id = id, + UserId = userId, + PostId = postId, + IsLike = true + }; + ReadRatingServiceModel readRatingServiceModel = new ReadRatingServiceModel + { + Id = id, + UserId = userId, + PostId = postId, + IsLike = true + }; + + this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readRatingServiceModel); + this.RatingServiceMock.Setup(p => p.GetRatingById(It.IsAny())).Returns(Task.FromResult(readRatingServiceModel)); + + IActionResult result = this.RatingController.GetRatingById(id).Result; + + Assert.IsInstanceOf(result); + } + + [Test] + public void GetRatingByUserAndPost_ReturnsTheRating_WhenItExists() + { + Guid id = Guid.NewGuid(); + Guid userId = Guid.NewGuid(); + Guid postId = Guid.NewGuid(); + ReadRatingWebModel readRatingWebModel = new ReadRatingWebModel + { + Id = id, + UserId = userId, + PostId = postId, + IsLike = true + }; + ReadRatingServiceModel readRatingServiceModel = new ReadRatingServiceModel + { + Id = id, + UserId = userId, + PostId = postId, + IsLike = true + }; + + this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readRatingServiceModel); + this.RatingServiceMock.Setup(p => p.GetRatingByPostAndUser(It.IsAny(), It.IsAny())).Returns(Task.FromResult(readRatingServiceModel)); + + IActionResult result = this.RatingController.GetRatingByUserAndPost(userId, postId).Result; + + Assert.IsInstanceOf(result); + } + + #endregion + + #region Update + [Test] + public void Update_ShouldReturnOkResult_WhenRatingIsUpdatedSuccessfully() + { + Guid id = Guid.NewGuid(); + Guid userId = Guid.NewGuid(); + Guid postId = Guid.NewGuid(); + UpdateRatingWebModel updateRatingWebModel = new UpdateRatingWebModel + { + IsLike = true + }; + UpdateRatingServiceModel updateRatingServiceModel = new UpdateRatingServiceModel + { + Id = id, + UserId = userId, + PostId = postId, + IsLike = true + }; + ReadRatingWebModel readRatingWebModel = new ReadRatingWebModel + { + Id = id, + UserId = userId, + PostId = postId, + IsLike = true + }; + ReadRatingServiceModel readRatingServiceModel = new ReadRatingServiceModel + { + Id = id, + UserId = userId, + PostId = postId, + IsLike = true + }; + + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateRatingServiceModel); + this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readRatingWebModel); + this.RatingServiceMock.Setup(p => p.UpdateRating(It.IsAny())).Returns(Task.FromResult(readRatingServiceModel)); + + IActionResult result = this.RatingController.UpdateRating(userId, postId, updateRatingWebModel, String.Empty).Result; + + Assert.IsInstanceOf(result); + } + + [Test] + public void Update_ShouldReturnBadObjectResult_WhenLanguageIsNotUpdatedSuccessfully() + { + Guid id = Guid.NewGuid(); + UpdateRatingWebModel updateRatingWebModel = new UpdateRatingWebModel + { + IsLike = true + }; + UpdateRatingServiceModel updateRatingServiceModel = new UpdateRatingServiceModel + { + Id = id, + IsLike = true + }; + + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateRatingServiceModel); + this.RatingServiceMock.Setup(p => p.UpdateRating(It.IsAny())).Returns(Task.FromResult(null)); + + IActionResult result = this.RatingController.UpdateRating(Guid.Empty, Guid.Empty, updateRatingWebModel, String.Empty).Result; + + Assert.IsInstanceOf(result); + } + #endregion + + #region Delete + [Test] + public void Delete_ReturnsOkResult_WhenRatingIsDeletedSuccessfully() + { + Guid id = Guid.NewGuid(); + + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this.RatingServiceMock.Setup(p => p.DeleteRating(It.IsAny())).Returns(Task.FromResult(true)); + + IActionResult result = this.RatingController.DeleteRating(Guid.Empty, Guid.Empty, String.Empty).Result; + + Assert.IsInstanceOf(result); + } + + [Test] + public void Delete_ReturnsBadRequestObjectResult_WhenRatingIsNotDeletedSuccessfully() + { + string message = "Could not delete Rating"; + Guid id = Guid.NewGuid(); + + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this.RatingServiceMock.Setup(p => p.DeleteRating(It.IsAny())).Returns(Task.FromResult(false)); + + IActionResult result = this.RatingController.DeleteRating(Guid.Empty, Guid.Empty, String.Empty).Result; + + Assert.IsInstanceOf(result); + + BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult; + string resultModel = badRequestObjectResult.Value.ToString(); + + Assert.AreEqual(message, resultModel); + } + #endregion + } +} -- cgit v1.2.3 From e82ec81155b4230123df9706b9590af2dd4ef9eb Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 13 Mar 2021 10:03:54 +0200 Subject: Added tests for rating service --- .../DevHive.Services.Tests/RatingService.Tests.cs | 370 +++++++++++++++++++++ 1 file changed, 370 insertions(+) create mode 100644 src/Services/DevHive.Services.Tests/RatingService.Tests.cs diff --git a/src/Services/DevHive.Services.Tests/RatingService.Tests.cs b/src/Services/DevHive.Services.Tests/RatingService.Tests.cs new file mode 100644 index 0000000..89c1a2e --- /dev/null +++ b/src/Services/DevHive.Services.Tests/RatingService.Tests.cs @@ -0,0 +1,370 @@ +using System; +using System.Threading.Tasks; +using AutoMapper; +using DevHive.Data.Interfaces; +using DevHive.Data.Models; +using DevHive.Services.Models.Rating; +using DevHive.Services.Services; +using Moq; +using NUnit.Framework; + +namespace DevHive.Services.Tests +{ + [TestFixture] + public class RatingServiceTests + { + private Mock PostRepositoryMock { get; set; } + private Mock RatingRepositoryMock { get; set; } + private Mock UserRepositoryMock { get; set; } + private Mock MapperMock { get; set; } + private RatingService RatingService { get; set; } + + #region SetUps + [SetUp] + public void SetUp() + { + this.PostRepositoryMock = new Mock(); + this.RatingRepositoryMock = new Mock(); + this.UserRepositoryMock = new Mock(); + this.MapperMock = new Mock(); + this.RatingService = new RatingService(this.PostRepositoryMock.Object, this.RatingRepositoryMock.Object, this.UserRepositoryMock.Object, this.MapperMock.Object); + } + #endregion + + #region Create + [Test] + public async Task RatePost_ReturnsNonEmptyGuid_WhenEntityIsAddedSuccessfully() + { + bool isLike = true; + Guid id = Guid.NewGuid(); + Guid postId = Guid.NewGuid(); + Guid userId = Guid.NewGuid(); + CreateRatingServiceModel createRatingServiceModel = new CreateRatingServiceModel + { + PostId = postId, + UserId = userId, + IsLike = isLike + }; + Rating rating = new Rating + { + Id = id, + IsLike = isLike + }; + User user = new User + { + Id = userId + }; + Post post = new Post + { + Id = postId + }; + + this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); + this.RatingRepositoryMock.Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); + this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); + this.RatingRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); + this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(rating)); + this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(rating); + + Guid result = await this.RatingService.RatePost(createRatingServiceModel); + + Assert.AreEqual(id, result); + } + + [Test] + public async Task RatePost_ReturnsEmptyGuid_WhenEntityIsNotAddedSuccessfully() + { + bool isLike = true; + Guid id = Guid.NewGuid(); + Guid postId = Guid.NewGuid(); + Guid userId = Guid.NewGuid(); + CreateRatingServiceModel createRatingServiceModel = new CreateRatingServiceModel + { + PostId = postId, + UserId = userId, + IsLike = isLike + }; + Rating rating = new Rating + { + Id = id, + IsLike = isLike + }; + User user = new User + { + Id = userId + }; + Post post = new Post + { + Id = postId + }; + + this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); + this.RatingRepositoryMock.Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); + this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); + this.RatingRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); + this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(rating); + + Guid result = await this.RatingService.RatePost(createRatingServiceModel); + + Assert.AreEqual(result, Guid.Empty); + } + #endregion + + #region Read + [Test] + public async Task GetRatingById_ReturnsTheRating_WhenItExists() + { + Guid id = Guid.NewGuid(); + bool isLike = true; + User user = new User + { + Id = Guid.NewGuid() + }; + Rating rating = new Rating + { + Id = id, + IsLike = isLike, + User = user + }; + ReadRatingServiceModel readRatingServiceModel = new ReadRatingServiceModel + { + Id = id, + IsLike = isLike + }; + + this.RatingRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(rating)); + this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readRatingServiceModel); + + ReadRatingServiceModel result = await this.RatingService.GetRatingById(id); + + Assert.AreEqual(isLike, result.IsLike); + } + + [Test] + public void GetRatingById_ThrowsException_WhenRatingDoesNotExist() + { + string exceptionMessage = "The rating does not exist"; + this.RatingRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + + Exception ex = Assert.ThrowsAsync(() => this.RatingService.GetRatingById(Guid.Empty)); + + Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); + } + + [Test] + public async Task GetRatingByPostAndUser_ReturnsTheRating_WhenItExists() + { + Guid id = Guid.NewGuid(); + bool isLike = true; + User user = new User + { + Id = Guid.NewGuid() + }; + Rating rating = new Rating + { + Id = id, + IsLike = isLike, + User = user + }; + ReadRatingServiceModel readRatingServiceModel = new ReadRatingServiceModel + { + Id = id, + IsLike = isLike + }; + + this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(rating)); + this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readRatingServiceModel); + + ReadRatingServiceModel result = await this.RatingService.GetRatingByPostAndUser(user.Id, Guid.Empty); + + Assert.AreEqual(isLike, result.IsLike); + } + + [Test] + public void GetRatingByPostAndUser_ThrowsException_WhenRatingDoesNotExist() + { + string exceptionMessage = "The rating does not exist"; + this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(null)); + + Exception ex = Assert.ThrowsAsync(() => this.RatingService.GetRatingById(Guid.Empty)); + + Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); + } + #endregion + + #region Update + [Test] + public async Task UpdateRating_ReturnsObject_WhenRatingIsUpdatedSuccessfully() + { + Guid id = Guid.NewGuid(); + bool isLike = true; + UpdateRatingServiceModel updateRatingServiceModel = new UpdateRatingServiceModel + { + Id = id, + IsLike = isLike + }; + User user = new User + { + Id = Guid.NewGuid() + }; + Rating rating = new Rating + { + Id = id, + IsLike = isLike, + User = user + }; + ReadRatingServiceModel readRatingServiceModel = new ReadRatingServiceModel + { + Id = id, + IsLike = isLike + }; + + this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(rating)); + this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); + this.RatingRepositoryMock.Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this.RatingRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readRatingServiceModel); + + ReadRatingServiceModel result = await this.RatingService.UpdateRating(updateRatingServiceModel); + + Assert.AreEqual(result, readRatingServiceModel); + } + + [Test] + public async Task UpdateRating_ReturnsNull_WhenRatingIsNotUpdatedSuccessfully() + { + Guid id = Guid.NewGuid(); + bool isLike = true; + UpdateRatingServiceModel updateRatingServiceModel = new UpdateRatingServiceModel + { + Id = id, + IsLike = isLike + }; + User user = new User + { + Id = Guid.NewGuid() + }; + Rating rating = new Rating + { + Id = id, + IsLike = isLike, + User = user + }; + ReadRatingServiceModel readRatingServiceModel = new ReadRatingServiceModel + { + Id = id, + IsLike = isLike + }; + + this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(rating)); + this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); + this.RatingRepositoryMock.Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this.RatingRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + + ReadRatingServiceModel result = await this.RatingService.UpdateRating(updateRatingServiceModel); + + Assert.IsNull(result); + } + + [Test] + public void UpdateRating_ThrowsException_WhenRatingDoesNotExists() + { + string exceptionMessage = "Rating does not exist!"; + UpdateRatingServiceModel updateRatingServiceModel = new UpdateRatingServiceModel + { + Id = Guid.Empty, + IsLike = true + }; + + this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(null)); + + Exception ex = Assert.ThrowsAsync(() => this.RatingService.UpdateRating(updateRatingServiceModel)); + + Assert.AreEqual(ex.Message, exceptionMessage); + } + + [Test] + public void UpdateRating_ThrowsException_WhenUserHasNotRatedPost() + { + string exceptionMessage = "User has not rated the post!"; + Guid id = Guid.NewGuid(); + bool isLike = true; + UpdateRatingServiceModel updateRatingServiceModel = new UpdateRatingServiceModel + { + Id = id, + IsLike = isLike + }; + User user = new User + { + Id = Guid.NewGuid() + }; + Rating rating = new Rating + { + Id = id, + IsLike = isLike, + User = user + }; + + this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(rating)); + this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); + this.RatingRepositoryMock.Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + + Exception ex = Assert.ThrowsAsync(() => this.RatingService.UpdateRating(updateRatingServiceModel)); + + Assert.AreEqual(ex.Message, exceptionMessage); + } + #endregion + + #region Delete + [Test] + public async Task DeleteRating_ReturnsTrue_WhenRatingIsDeletedSuccessfully() + { + Guid ratingId = Guid.NewGuid(); + Rating rating = new Rating + { + Id = ratingId + }; + + this.RatingRepositoryMock.Setup(p => p.DoesRatingExist(It.IsAny())).Returns(Task.FromResult(true)); + this.RatingRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + this.RatingRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(true)); + + bool result = await this.RatingService.DeleteRating(ratingId); + + Assert.IsTrue(result); + } + + [Test] + public async Task DeleteRating_ReturnsFalse_WhenRatingIsNotDeletedSuccessfully() + { + Guid ratingId = Guid.NewGuid(); + Rating rating = new Rating + { + Id = ratingId + }; + + this.RatingRepositoryMock.Setup(p => p.DoesRatingExist(It.IsAny())).Returns(Task.FromResult(true)); + this.RatingRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + this.RatingRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(false)); + + bool result = await this.RatingService.DeleteRating(ratingId); + + Assert.IsFalse(result); + } + + [Test] + public void DeleteRating_ThrowsException_WhenRatingDoesNotExist() + { + string exceptionMessage = "Rating does not exist!"; + + this.RatingRepositoryMock.Setup(p => p.DoesRatingExist(It.IsAny())).Returns(Task.FromResult(false)); + + Exception ex = Assert.ThrowsAsync(() => this.RatingService.DeleteRating(Guid.Empty)); + + Assert.AreEqual(ex.Message, exceptionMessage); + } + #endregion + } +} -- cgit v1.2.3 From 441f04790659a439c0054b7b06130d14cc2eb90b Mon Sep 17 00:00:00 2001 From: transtrike Date: Sat, 13 Mar 2021 10:01:23 +0200 Subject: Technology xml comments added; Needs finish --- .../Controllers/TechnologyController.cs | 5 +++ src/Web/DevHive.Web/Controllers/UserController.cs | 52 ++++++++++++++++++++-- 2 files changed, 54 insertions(+), 3 deletions(-) diff --git a/src/Web/DevHive.Web/Controllers/TechnologyController.cs b/src/Web/DevHive.Web/Controllers/TechnologyController.cs index e507899..ba3f04a 100644 --- a/src/Web/DevHive.Web/Controllers/TechnologyController.cs +++ b/src/Web/DevHive.Web/Controllers/TechnologyController.cs @@ -23,6 +23,11 @@ namespace DevHive.Web.Controllers this._technologyMapper = technologyMapper; } + /// + /// Create a new technology, so users can have a choice. Admin only! + /// + /// Data for the new technology + /// [HttpPost] [Authorize(Roles = "Admin")] public async Task Create([FromBody] CreateTechnologyWebModel createTechnologyWebModel) diff --git a/src/Web/DevHive.Web/Controllers/UserController.cs b/src/Web/DevHive.Web/Controllers/UserController.cs index b01ecc1..86076e5 100644 --- a/src/Web/DevHive.Web/Controllers/UserController.cs +++ b/src/Web/DevHive.Web/Controllers/UserController.cs @@ -8,12 +8,16 @@ using Microsoft.AspNetCore.Mvc; using DevHive.Common.Models.Identity; using DevHive.Services.Interfaces; using DevHive.Common.Jwt.Interfaces; -using DevHive.Web.Models.Attributes; +using NSwag.Annotations; namespace DevHive.Web.Controllers { + /// + /// All endpoints for integration with the User + /// [ApiController] [Route("/api/[controller]")] + [OpenApiController("User Controller")] public class UserController : ControllerBase { private readonly IUserService _userService; @@ -28,9 +32,15 @@ namespace DevHive.Web.Controllers } #region Authentication + /// + /// Login endpoint for the DevHive Social Platform + /// + /// Login model with username and password + /// A JWT Token for further validation [HttpPost] - [Route("Login")] [AllowAnonymous] + [Route("Login")] + [OpenApiTags("Authorization")] public async Task Login([FromBody] LoginWebModel loginModel) { LoginServiceModel loginServiceModel = this._userMapper.Map(loginModel); @@ -41,9 +51,15 @@ namespace DevHive.Web.Controllers return new OkObjectResult(tokenWebModel); } + /// + /// Register a new User in the DevHive Social Platform + /// + /// Register model with the new data to provide + /// A JWT Token for further validation [HttpPost] - [Route("Register")] [AllowAnonymous] + [Route("Register")] + [OpenApiTag("Authorization")] public async Task Register([FromBody] RegisterWebModel registerModel) { RegisterServiceModel registerServiceModel = this._userMapper.Map(registerModel); @@ -56,6 +72,12 @@ namespace DevHive.Web.Controllers #endregion #region Read + /// + /// Get a User's information using the Guid + /// + /// User's Guid + /// The JWT Token, contained in the header and used for validation + /// A full User's read model [HttpGet] [Authorize(Roles = "User,Admin")] public async Task GetById(Guid id, [FromHeader] string authorization) @@ -69,6 +91,11 @@ namespace DevHive.Web.Controllers return new OkObjectResult(userWebModel); } + /// + /// Get a User's profile using his username. Does NOT require authorization + /// + /// User's username + /// A trimmed version of the full User's read model [HttpGet] [Route("GetUser")] [AllowAnonymous] @@ -82,6 +109,13 @@ namespace DevHive.Web.Controllers #endregion #region Update + /// + /// Full update on User's data. A PUSTINQK can only edit his account + /// + /// The User's Guid + /// A full User update model + /// The JWT Token, contained in the header and used for validation + /// A full User's read model [HttpPut] [Authorize(Roles = "User,Admin")] public async Task Update(Guid id, [FromBody] UpdateUserWebModel updateUserWebModel, [FromHeader] string authorization) @@ -100,6 +134,12 @@ namespace DevHive.Web.Controllers #endregion #region Delete + /// + /// Delete a User with his Id. A PUSTINQK can only delete his account. An Admin can delete all accounts + /// + /// The User's Guid + /// The JWT Token, contained in the header and used for validation + /// Ok, BadRequest or Unauthorized [HttpDelete] [Authorize(Roles = "User,Admin")] public async Task Delete(Guid id, [FromHeader] string authorization) @@ -115,7 +155,13 @@ namespace DevHive.Web.Controllers } #endregion + /// + /// We don't talk about that, NIGGA! + /// + /// + /// [HttpPost] + [OpenApiIgnore] [Authorize(Roles = "User,Admin")] [Route("SuperSecretPromotionToAdmin")] public async Task SuperSecretPromotionToAdmin(Guid userId) -- cgit v1.2.3 From 93ded2b68a31fc9da643ac65955219e4f306ab82 Mon Sep 17 00:00:00 2001 From: transtrike Date: Sat, 13 Mar 2021 11:44:01 +0200 Subject: XML Docs on all controllers --- .../DevHive.Web/Controllers/CommentController.cs | 38 +++++++++++++++++++--- src/Web/DevHive.Web/Controllers/FeedController.cs | 15 +++++++++ .../DevHive.Web/Controllers/LanguageController.cs | 32 ++++++++++++++++-- src/Web/DevHive.Web/Controllers/PostController.cs | 34 +++++++++++++++++-- .../Controllers/ProfilePictureController.cs | 18 +++++++++- src/Web/DevHive.Web/Controllers/RoleController.cs | 24 ++++++++++++++ .../Controllers/TechnologyController.cs | 25 +++++++++++++- src/Web/DevHive.Web/Controllers/UserController.cs | 6 ++-- src/Web/DevHive.Web/DevHive.Web.csproj | 5 ++- 9 files changed, 181 insertions(+), 16 deletions(-) diff --git a/src/Web/DevHive.Web/Controllers/CommentController.cs b/src/Web/DevHive.Web/Controllers/CommentController.cs index 1722801..8fa3577 100644 --- a/src/Web/DevHive.Web/Controllers/CommentController.cs +++ b/src/Web/DevHive.Web/Controllers/CommentController.cs @@ -10,6 +10,9 @@ using DevHive.Common.Jwt.Interfaces; namespace DevHive.Web.Controllers { + /// + /// All endpoints for interacting with the comments layer + /// [ApiController] [Route("/api/[controller]")] [Authorize(Roles = "User,Admin")] @@ -26,6 +29,13 @@ namespace DevHive.Web.Controllers this._jwtService = jwtService; } + /// + /// Create a comment and attach it to a post + /// + /// The useer's Id + /// The new comment's parametars + /// JWT Bearer token + /// The comment's Id [HttpPost] public async Task AddComment(Guid userId, [FromBody] CreateCommentWebModel createCommentWebModel, [FromHeader] string authorization) { @@ -46,16 +56,28 @@ namespace DevHive.Web.Controllers new OkObjectResult(new { Id = id }); } + /// + /// Query comment's data by it's Id + /// + /// The comment's Id + /// Full data model of the comment [HttpGet] [AllowAnonymous] - public async Task GetCommentById(Guid id) + public async Task GetCommentById(Guid commentId) { - ReadCommentServiceModel readCommentServiceModel = await this._commentService.GetCommentById(id); + ReadCommentServiceModel readCommentServiceModel = await this._commentService.GetCommentById(commentId); ReadCommentWebModel readCommentWebModel = this._commentMapper.Map(readCommentServiceModel); return new OkObjectResult(readCommentWebModel); } + /// + /// Update comment's parametars. Comment creator only! + /// + /// The comment creator's Id + /// New comment's parametars + /// JWT Bearer token + /// Ok result [HttpPut] public async Task UpdateComment(Guid userId, [FromBody] UpdateCommentWebModel updateCommentWebModel, [FromHeader] string authorization) { @@ -73,13 +95,19 @@ namespace DevHive.Web.Controllers new OkObjectResult(new { Id = id }); } + /// + /// Delete a comment. Comment creator only! + /// + /// Comment's Id + /// JWT Bearer token + /// Ok result [HttpDelete] - public async Task DeleteComment(Guid id, [FromHeader] string authorization) + public async Task DeleteComment(Guid commentId, [FromHeader] string authorization) { - if (!await this._commentService.ValidateJwtForComment(id, authorization)) + if (!await this._commentService.ValidateJwtForComment(commentId, authorization)) return new UnauthorizedResult(); - return await this._commentService.DeleteComment(id) ? + return await this._commentService.DeleteComment(commentId) ? new OkResult() : new BadRequestObjectResult("Could not delete Comment"); } diff --git a/src/Web/DevHive.Web/Controllers/FeedController.cs b/src/Web/DevHive.Web/Controllers/FeedController.cs index abca3e4..37532a9 100644 --- a/src/Web/DevHive.Web/Controllers/FeedController.cs +++ b/src/Web/DevHive.Web/Controllers/FeedController.cs @@ -10,6 +10,9 @@ using Microsoft.AspNetCore.Mvc; namespace DevHive.Web.Controllers { + /// + /// All endpoints for interacting with the feed layer + /// [ApiController] [Route("/api/[controller]")] [Authorize(Roles = "User,Admin")] @@ -24,6 +27,12 @@ namespace DevHive.Web.Controllers this._mapper = mapper; } + /// + /// Query posts for user's feed + /// + /// The user's Id, whose feed is begin queried + /// Page parametars + /// A page of the feed [HttpPost] [Route("GetPosts")] public async Task GetPosts(Guid userId, [FromBody] GetPageWebModel getPageWebModel) @@ -37,6 +46,12 @@ namespace DevHive.Web.Controllers return new OkObjectResult(readPageWebModel); } + /// + /// Query a user profile's posts + /// + /// The user's username, whose posts are being queried + /// Page parametars + /// A page of the user's posts [HttpPost] [Route("GetUserPosts")] [AllowAnonymous] diff --git a/src/Web/DevHive.Web/Controllers/LanguageController.cs b/src/Web/DevHive.Web/Controllers/LanguageController.cs index 5b0d5de..665fb66 100644 --- a/src/Web/DevHive.Web/Controllers/LanguageController.cs +++ b/src/Web/DevHive.Web/Controllers/LanguageController.cs @@ -10,6 +10,9 @@ using Microsoft.AspNetCore.Mvc; namespace DevHive.Web.Controllers { + /// + /// All endpoints for interacting with the language layer + /// [ApiController] [Route("/api/[controller]")] public class LanguageController @@ -23,6 +26,11 @@ namespace DevHive.Web.Controllers this._languageMapper = mapper; } + /// + /// Create a new language, so users can have a choice. Admin only! + /// + /// The new language's parametars + /// The new language's Id [HttpPost] [Authorize(Roles = "Admin")] public async Task Create([FromBody] CreateLanguageWebModel createLanguageWebModel) @@ -36,6 +44,11 @@ namespace DevHive.Web.Controllers new OkObjectResult(new { Id = id }); } + /// + /// Query full language data by Id + /// + /// The language's Id + /// Full language data [HttpGet] [AllowAnonymous] public async Task GetById(Guid id) @@ -46,6 +59,10 @@ namespace DevHive.Web.Controllers return new OkObjectResult(languageWebModel); } + /// + /// Query all languages in the database + /// + /// All languages in the database [HttpGet] [Route("GetLanguages")] [Authorize(Roles = "User,Admin")] @@ -57,6 +74,12 @@ namespace DevHive.Web.Controllers return new OkObjectResult(languageWebModels); } + /// + /// Alter language's properties. Admin only! + /// + /// The language's Id + /// The langauge's new parametars + /// Ok result [HttpPut] [Authorize(Roles = "Admin")] public async Task Update(Guid id, [FromBody] UpdateLanguageWebModel updateModel) @@ -72,11 +95,16 @@ namespace DevHive.Web.Controllers return new OkResult(); } + /// + /// Delete a language. Admin only! + /// + /// The language's Id + /// Ok result [HttpDelete] [Authorize(Roles = "Admin")] - public async Task Delete(Guid id) + public async Task Delete(Guid langaugeId) { - bool result = await this._languageService.DeleteLanguage(id); + bool result = await this._languageService.DeleteLanguage(langaugeId); if (!result) return new BadRequestObjectResult("Could not delete Language"); diff --git a/src/Web/DevHive.Web/Controllers/PostController.cs b/src/Web/DevHive.Web/Controllers/PostController.cs index 309070c..44b291d 100644 --- a/src/Web/DevHive.Web/Controllers/PostController.cs +++ b/src/Web/DevHive.Web/Controllers/PostController.cs @@ -10,6 +10,9 @@ using DevHive.Common.Jwt.Interfaces; namespace DevHive.Web.Controllers { + /// + /// All endpoints for interacting with the post layer + /// [ApiController] [Route("/api/[controller]")] [Authorize(Roles = "User,Admin")] @@ -27,6 +30,13 @@ namespace DevHive.Web.Controllers } #region Create + /// + /// Create a new post + /// + /// The user's Id + /// The new post's data + /// JWT Bearer token + /// New post's Id [HttpPost] public async Task Create(Guid userId, [FromForm] CreatePostWebModel createPostWebModel, [FromHeader] string authorization) { @@ -46,6 +56,11 @@ namespace DevHive.Web.Controllers #endregion #region Read + /// + /// Query full post's data by it's Id + /// + /// The post's Id + /// Full data model of the post [HttpGet] [AllowAnonymous] public async Task GetById(Guid id) @@ -58,6 +73,13 @@ namespace DevHive.Web.Controllers #endregion #region Update + /// + /// Update post's data. Creator only! + /// + /// The post creator's Id + /// The new params of the post + /// JWT Bearer token + /// The post's Id [HttpPut] public async Task Update(Guid userId, [FromForm] UpdatePostWebModel updatePostWebModel, [FromHeader] string authorization) { @@ -80,13 +102,19 @@ namespace DevHive.Web.Controllers #endregion #region Delete + /// + /// Delete a post. Creator only! + /// + /// Post's Id + /// JWT Bearer token + /// Ok result [HttpDelete] - public async Task Delete(Guid id, [FromHeader] string authorization) + public async Task Delete(Guid postId, [FromHeader] string authorization) { - if (!await this._postService.ValidateJwtForPost(id, authorization)) + if (!await this._postService.ValidateJwtForPost(postId, authorization)) return new UnauthorizedResult(); - return await this._postService.DeletePost(id) ? + return await this._postService.DeletePost(postId) ? new OkResult() : new BadRequestObjectResult("Could not delete Post"); } diff --git a/src/Web/DevHive.Web/Controllers/ProfilePictureController.cs b/src/Web/DevHive.Web/Controllers/ProfilePictureController.cs index d3971ff..2eec99e 100644 --- a/src/Web/DevHive.Web/Controllers/ProfilePictureController.cs +++ b/src/Web/DevHive.Web/Controllers/ProfilePictureController.cs @@ -1,16 +1,32 @@ using System; using System.Threading.Tasks; -using DevHive.Services.Models.User; using DevHive.Web.Models.User; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace DevHive.Web.Controllers { + /// + /// All endpoints for interacting with the profile picture layer + /// [ApiController] [Route("api/[controller]")] public class ProfilePictureController { + // private readonly ProfilePictureService _profilePictureService; + + // public ProfilePictureController(ProfilePictureService profilePictureService) + // { + // this._profilePictureService = profilePictureService; + // } + + /// + /// Alter the profile picture of a user + /// + /// The user's Id + /// The new profile picture + /// JWT Bearer Token + /// ??? [HttpPut] [Route("ProfilePicture")] [Authorize(Roles = "User,Admin")] diff --git a/src/Web/DevHive.Web/Controllers/RoleController.cs b/src/Web/DevHive.Web/Controllers/RoleController.cs index 1465795..ebb305e 100644 --- a/src/Web/DevHive.Web/Controllers/RoleController.cs +++ b/src/Web/DevHive.Web/Controllers/RoleController.cs @@ -9,6 +9,9 @@ using Microsoft.AspNetCore.Authorization; namespace DevHive.Web.Controllers { + /// + /// All endpoints for interacting with the roles layer + /// [ApiController] [Route("/api/[controller]")] public class RoleController @@ -22,6 +25,11 @@ namespace DevHive.Web.Controllers this._roleMapper = mapper; } + /// + /// Create a new role for the roles hierarchy. Admin only! + /// + /// The new role's parametars + /// The new role's Id [HttpPost] [Authorize(Roles = "Admin")] public async Task Create([FromBody] CreateRoleWebModel createRoleWebModel) @@ -36,6 +44,11 @@ namespace DevHive.Web.Controllers new OkObjectResult(new { Id = id }); } + /// + /// Get a role's full data, querying it by it's Id + /// + /// The role's Id + /// Full info of the role [HttpGet] [Authorize(Roles = "User,Admin")] public async Task GetById(Guid id) @@ -46,6 +59,12 @@ namespace DevHive.Web.Controllers return new OkObjectResult(roleWebModel); } + /// + /// Update a role's parametars. Admin only! + /// + /// The role's Id + /// The new parametrats for that role + /// Ok result [HttpPut] [Authorize(Roles = "Admin")] public async Task Update(Guid id, [FromBody] UpdateRoleWebModel updateRoleWebModel) @@ -62,6 +81,11 @@ namespace DevHive.Web.Controllers return new OkResult(); } + /// + /// Delete a role. Admin only! + /// + /// The role's Id + /// Ok result [HttpDelete] [Authorize(Roles = "Admin")] public async Task Delete(Guid id) diff --git a/src/Web/DevHive.Web/Controllers/TechnologyController.cs b/src/Web/DevHive.Web/Controllers/TechnologyController.cs index ba3f04a..ecf2bd7 100644 --- a/src/Web/DevHive.Web/Controllers/TechnologyController.cs +++ b/src/Web/DevHive.Web/Controllers/TechnologyController.cs @@ -10,6 +10,9 @@ using Microsoft.AspNetCore.Mvc; namespace DevHive.Web.Controllers { + /// + /// All endpoints for interacting with the technology layer + /// [ApiController] [Route("/api/[controller]")] public class TechnologyController @@ -27,7 +30,7 @@ namespace DevHive.Web.Controllers /// Create a new technology, so users can have a choice. Admin only! /// /// Data for the new technology - /// + /// The new technology's Id [HttpPost] [Authorize(Roles = "Admin")] public async Task Create([FromBody] CreateTechnologyWebModel createTechnologyWebModel) @@ -41,6 +44,11 @@ namespace DevHive.Web.Controllers new OkObjectResult(new { Id = id }); } + /// + /// Get technology's data by it's Id + /// + /// The technology's Id + /// The technology's full data [HttpGet] [AllowAnonymous] public async Task GetById(Guid id) @@ -51,6 +59,10 @@ namespace DevHive.Web.Controllers return new OkObjectResult(readTechnologyWebModel); } + /// + /// Get all technologies from our database + /// + /// All technologies [HttpGet] [Route("GetTechnologies")] [Authorize(Roles = "User,Admin")] @@ -62,6 +74,12 @@ namespace DevHive.Web.Controllers return new OkObjectResult(languageWebModels); } + /// + /// Alter a technology's parameters. Admin only! + /// + /// Technology's Id + /// The new parametars + /// Ok result [HttpPut] [Authorize(Roles = "Admin")] public async Task Update(Guid id, [FromBody] UpdateTechnologyWebModel updateModel) @@ -77,6 +95,11 @@ namespace DevHive.Web.Controllers return new OkResult(); } + /// + /// Delete a etchnology from the database. Admin only! + /// + /// The technology's Id + /// Ok result [HttpDelete] [Authorize(Roles = "Admin")] public async Task Delete(Guid id) diff --git a/src/Web/DevHive.Web/Controllers/UserController.cs b/src/Web/DevHive.Web/Controllers/UserController.cs index 86076e5..4d01447 100644 --- a/src/Web/DevHive.Web/Controllers/UserController.cs +++ b/src/Web/DevHive.Web/Controllers/UserController.cs @@ -75,7 +75,7 @@ namespace DevHive.Web.Controllers /// /// Get a User's information using the Guid /// - /// User's Guid + /// User's Id /// The JWT Token, contained in the header and used for validation /// A full User's read model [HttpGet] @@ -112,7 +112,7 @@ namespace DevHive.Web.Controllers /// /// Full update on User's data. A PUSTINQK can only edit his account /// - /// The User's Guid + /// The User's Id /// A full User update model /// The JWT Token, contained in the header and used for validation /// A full User's read model @@ -137,7 +137,7 @@ namespace DevHive.Web.Controllers /// /// Delete a User with his Id. A PUSTINQK can only delete his account. An Admin can delete all accounts /// - /// The User's Guid + /// The User's Id /// The JWT Token, contained in the header and used for validation /// Ok, BadRequest or Unauthorized [HttpDelete] diff --git a/src/Web/DevHive.Web/DevHive.Web.csproj b/src/Web/DevHive.Web/DevHive.Web.csproj index 38f21e6..39322ae 100644 --- a/src/Web/DevHive.Web/DevHive.Web.csproj +++ b/src/Web/DevHive.Web/DevHive.Web.csproj @@ -25,6 +25,9 @@ + + + @@ -32,4 +35,4 @@ - + \ No newline at end of file -- cgit v1.2.3 From 0c5f69a8abf861334196341ca9cc82753305602f Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 13 Mar 2021 15:04:34 +0200 Subject: Added tests for rating repository --- .../DevHive.Data.Tests/RatingRepository.Tests.cs | 188 +++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 src/Data/DevHive.Data.Tests/RatingRepository.Tests.cs diff --git a/src/Data/DevHive.Data.Tests/RatingRepository.Tests.cs b/src/Data/DevHive.Data.Tests/RatingRepository.Tests.cs new file mode 100644 index 0000000..17616fe --- /dev/null +++ b/src/Data/DevHive.Data.Tests/RatingRepository.Tests.cs @@ -0,0 +1,188 @@ +using DevHive.Data.Repositories; +using Microsoft.EntityFrameworkCore; +using NUnit.Framework; +using System.Threading.Tasks; +using DevHive.Data.Models; +using System.Linq; +using System; +using System.Collections.Generic; + +namespace DevHive.Data.Tests +{ + [TestFixture] + public class RatingRepositoryTests + { + private DevHiveContext Context { get; set; } + private RatingRepository RatingRepository { get; set; } + + #region Setups + [SetUp] + public void Setup() + { + var optionsBuilder = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); + + this.Context = new DevHiveContext(optionsBuilder.Options); + this.RatingRepository = new RatingRepository(this.Context, null); + } + + [TearDown] + public void TearDown() + { + this.Context.Database.EnsureDeleted(); + } + #endregion + + #region GetById + [Test] + public async Task GetByIdAsync_ReturnsTheCorrectRating_IfItExists() + { + Guid ratingId = Guid.NewGuid(); + await AddDummyRating(ratingId); + + Rating ratingResult = await this.RatingRepository.GetByIdAsync(ratingId); + + Assert.AreEqual(ratingResult.Id, ratingId); + } + + [Test] + public async Task GetByIdAsync_ReturnsNull_IfRatingDoesNotExist() + { + Rating ratingResult = await this.RatingRepository.GetByIdAsync(Guid.NewGuid()); + + Assert.IsNull(ratingResult); + } + #endregion + + #region GetByPostId + [Test] + public async Task GetRatingsByPostId_ReturnsFilledListOfRatings_WhenTheyExist() + { + Guid postId = Guid.NewGuid(); + await AddDummyPost(postId); + await AddDummyRating(Guid.NewGuid(), postId); + await AddDummyRating(Guid.NewGuid(), postId); + + List result = await this.RatingRepository.GetRatingsByPostId(postId); + + Assert.IsNotEmpty(result); + } + + [Test] + public async Task GetRatingsByPostId_ReturnsEmptyList_WhenThereAreNoRatings() + { + List result = await this.RatingRepository.GetRatingsByPostId(Guid.NewGuid()); + + Assert.IsEmpty(result); + } + #endregion + + #region GetByUserAndPostId + [Test] + public async Task GetRatingByUserAndPostId_ReturnsRating_WhenItExists() + { + Guid ratingId = Guid.NewGuid(); + Guid postId = Guid.NewGuid(); + Guid userId = Guid.NewGuid(); + await AddDummyPost(postId); + await AddDummyUser(userId); + await AddDummyRating(ratingId, postId, userId); + + Rating result = await this.RatingRepository.GetRatingByUserAndPostId(userId, postId); + + Assert.AreEqual(result.Id, ratingId); + } + + [Test] + public async Task GetRatingByUserAndPostId_ReturnsNull_WhenRatingDoesNotExist() + { + Rating result = await this.RatingRepository.GetRatingByUserAndPostId(Guid.NewGuid(), Guid.NewGuid()); + + Assert.IsNull(result); + } + #endregion + + #region UserRatedPost + [Test] + public async Task UserRatedPost_ReturnsTrue_WhenUserHasRatedPost() + { + Guid postId = Guid.NewGuid(); + Guid userId = Guid.NewGuid(); + await AddDummyPost(postId); + await AddDummyUser(userId); + await AddDummyRating(Guid.NewGuid(), postId, userId); + + bool result = await this.RatingRepository.UserRatedPost(userId, postId); + + Assert.IsTrue(result); + } + + [Test] + public async Task UserRatedPost_ReturnsFalse_WhenUserHasNotRatedPost() + { + bool result = await this.RatingRepository.UserRatedPost(Guid.NewGuid(), Guid.NewGuid()); + + Assert.IsFalse(result); + } + #endregion + + #region DoesRatingExist + [Test] + public async Task DoesRatingExist_ReturnsTrue_WhenItExists() + { + Guid ratingId = Guid.NewGuid(); + await AddDummyRating(ratingId); + + bool result = await this.RatingRepository.DoesRatingExist(ratingId); + + Assert.IsTrue(result); + } + + [Test] + public async Task DoesRatingExist_ReturnsFalse_WhenRatingDoesNotExist() + { + bool result = await this.RatingRepository.DoesRatingExist(Guid.NewGuid()); + + Assert.IsFalse(result); + } + #endregion + + #region HelperMethods + private async Task AddDummyRating(Guid ratingId, Guid postId = default(Guid), Guid userId = default(Guid)) + { + Rating rating = new Rating + { + Id = ratingId, + Post = this.Context.Posts.FirstOrDefault(x => x.Id == postId), + User = this.Context.Users.FirstOrDefault(x => x.Id == userId) + }; + + await this.Context.Rating.AddAsync(rating); + await this.Context.SaveChangesAsync(); + } + + private async Task AddDummyPost(Guid postId) + { + Post post = new Post() + { + Id = postId, + Message = "Never gonna give you up" + }; + + await this.Context.Posts.AddAsync(post); + await this.Context.SaveChangesAsync(); + } + + private async Task AddDummyUser(Guid userId) + { + User user = new User() + { + Id = userId + }; + + await this.Context.Users.AddAsync(user); + await this.Context.SaveChangesAsync(); + } + #endregion + } +} -- cgit v1.2.3 From f14ed20bf06cdeee8ce71ee39756360c43c29df1 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 13 Mar 2021 15:53:48 +0200 Subject: Updated controller tests to mock jwt service, removed profile picture tests from user controller, as that is in it's own layer --- .../DevHive.Web.Tests/CommentController.Tests.cs | 19 +++++++-- src/Web/DevHive.Web.Tests/PostController.Tests.cs | 11 +++++- src/Web/DevHive.Web.Tests/UserController.Tests.cs | 46 +++++----------------- 3 files changed, 35 insertions(+), 41 deletions(-) diff --git a/src/Web/DevHive.Web.Tests/CommentController.Tests.cs b/src/Web/DevHive.Web.Tests/CommentController.Tests.cs index 7860f3c..7a15d37 100644 --- a/src/Web/DevHive.Web.Tests/CommentController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/CommentController.Tests.cs @@ -2,6 +2,7 @@ using System; using System.Linq; using System.Threading.Tasks; using AutoMapper; +using DevHive.Common.Jwt.Interfaces; using DevHive.Services.Interfaces; using DevHive.Services.Models.Comment; using DevHive.Web.Controllers; @@ -12,12 +13,13 @@ using NUnit.Framework; namespace DevHive.Web.Tests { - [TestFixture] + [TestFixture] public class CommentControllerTests { const string MESSAGE = "Gosho Trapov"; private Mock CommentServiceMock { get; set; } private Mock MapperMock { get; set; } + private Mock JwtServiceMock { get; set; } private CommentController CommentController { get; set; } #region Setup @@ -26,7 +28,8 @@ namespace DevHive.Web.Tests { this.CommentServiceMock = new Mock(); this.MapperMock = new Mock(); - this.CommentController = new CommentController(this.CommentServiceMock.Object, this.MapperMock.Object); + this.JwtServiceMock = new Mock(); + this.CommentController = new CommentController(this.CommentServiceMock.Object, this.MapperMock.Object, this.JwtServiceMock.Object); } #endregion @@ -46,6 +49,7 @@ namespace DevHive.Web.Tests this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createCommentServiceModel); this.CommentServiceMock.Setup(p => p.AddComment(It.IsAny())).Returns(Task.FromResult(id)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.CommentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; @@ -79,6 +83,7 @@ namespace DevHive.Web.Tests this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createCommentServiceModel); this.CommentServiceMock.Setup(p => p.AddComment(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.CommentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; @@ -99,6 +104,7 @@ namespace DevHive.Web.Tests Message = MESSAGE }; + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.CommentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; @@ -121,6 +127,7 @@ namespace DevHive.Web.Tests Message = MESSAGE }; + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.CommentServiceMock.Setup(p => p.GetCommentById(It.IsAny())).Returns(Task.FromResult(readCommentServiceModel)); this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readCommentWebModel); @@ -150,6 +157,7 @@ namespace DevHive.Web.Tests }; this.CommentServiceMock.Setup(p => p.UpdateComment(It.IsAny())).Returns(Task.FromResult(id)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateCommentServiceModel); @@ -178,6 +186,7 @@ namespace DevHive.Web.Tests }; this.CommentServiceMock.Setup(p => p.UpdateComment(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateCommentServiceModel); @@ -198,7 +207,8 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(false); + // this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); IActionResult result = this.CommentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; @@ -213,6 +223,7 @@ namespace DevHive.Web.Tests Guid id = Guid.NewGuid(); this.CommentServiceMock.Setup(p => p.DeleteComment(It.IsAny())).Returns(Task.FromResult(true)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); IActionResult result = this.CommentController.DeleteComment(id, null).Result; @@ -227,6 +238,7 @@ namespace DevHive.Web.Tests Guid id = Guid.NewGuid(); this.CommentServiceMock.Setup(p => p.DeleteComment(It.IsAny())).Returns(Task.FromResult(false)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); IActionResult result = this.CommentController.DeleteComment(id, null).Result; @@ -242,6 +254,7 @@ namespace DevHive.Web.Tests [Test] public void DeleteComment_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized() { + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); IActionResult result = this.CommentController.DeleteComment(Guid.Empty, null).Result; diff --git a/src/Web/DevHive.Web.Tests/PostController.Tests.cs b/src/Web/DevHive.Web.Tests/PostController.Tests.cs index f10f8dd..438eb80 100644 --- a/src/Web/DevHive.Web.Tests/PostController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/PostController.Tests.cs @@ -2,6 +2,7 @@ using System; using System.Linq; using System.Threading.Tasks; using AutoMapper; +using DevHive.Common.Jwt.Interfaces; using DevHive.Services.Interfaces; using DevHive.Services.Models.Post; using DevHive.Web.Controllers; @@ -18,6 +19,7 @@ namespace DevHive.Web.Tests const string MESSAGE = "Gosho Trapov"; private Mock PostServiceMock { get; set; } private Mock MapperMock { get; set; } + private Mock JwtServiceMock { get; set; } private PostController PostController { get; set; } [SetUp] @@ -25,7 +27,8 @@ namespace DevHive.Web.Tests { this.PostServiceMock = new Mock(); this.MapperMock = new Mock(); - this.PostController = new PostController(this.PostServiceMock.Object, this.MapperMock.Object); + this.JwtServiceMock = new Mock(); + this.PostController = new PostController(this.PostServiceMock.Object, this.MapperMock.Object, this.JwtServiceMock.Object); } #region Create @@ -44,6 +47,7 @@ namespace DevHive.Web.Tests this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createPostServiceModel); this.PostServiceMock.Setup(p => p.CreatePost(It.IsAny())).Returns(Task.FromResult(id)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.PostServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); IActionResult result = this.PostController.Create(Guid.Empty, createPostWebModel, null).Result; @@ -77,6 +81,7 @@ namespace DevHive.Web.Tests this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); this.PostServiceMock.Setup(p => p.CreatePost(It.IsAny())).Returns(Task.FromResult(id)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.PostServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); IActionResult result = this.PostController.Create(Guid.Empty, createTechnologyWebModel, null).Result; @@ -150,6 +155,7 @@ namespace DevHive.Web.Tests this.PostServiceMock.Setup(p => p.UpdatePost(It.IsAny())).Returns(Task.FromResult(id)); this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updatePostServiceModel); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); IActionResult result = this.PostController.Update(id, updatePostWebModel, null).Result; @@ -173,6 +179,7 @@ namespace DevHive.Web.Tests this.PostServiceMock.Setup(p => p.UpdatePost(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updatePostServiceModel); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); IActionResult result = this.PostController.Update(id, updatePostWebModel, null).Result; @@ -207,6 +214,7 @@ namespace DevHive.Web.Tests Guid id = Guid.NewGuid(); this.PostServiceMock.Setup(p => p.DeletePost(It.IsAny())).Returns(Task.FromResult(true)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); IActionResult result = this.PostController.Delete(id, null).Result; @@ -221,6 +229,7 @@ namespace DevHive.Web.Tests Guid id = Guid.NewGuid(); this.PostServiceMock.Setup(p => p.DeletePost(It.IsAny())).Returns(Task.FromResult(false)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); IActionResult result = this.PostController.Delete(id, null).Result; diff --git a/src/Web/DevHive.Web.Tests/UserController.Tests.cs b/src/Web/DevHive.Web.Tests/UserController.Tests.cs index e12738e..ee08d88 100644 --- a/src/Web/DevHive.Web.Tests/UserController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/UserController.Tests.cs @@ -1,6 +1,7 @@ using System; using System.Threading.Tasks; using AutoMapper; +using DevHive.Common.Jwt.Interfaces; using DevHive.Common.Models.Identity; using DevHive.Services.Interfaces; using DevHive.Services.Models.User; @@ -18,6 +19,7 @@ namespace DevHive.Web.Tests const string USERNAME = "Gosho Trapov"; private Mock UserServiceMock { get; set; } private Mock MapperMock { get; set; } + private Mock JwtServiceMock { get; set; } private UserController UserController { get; set; } [SetUp] @@ -25,7 +27,8 @@ namespace DevHive.Web.Tests { this.UserServiceMock = new Mock(); this.MapperMock = new Mock(); - this.UserController = new UserController(this.UserServiceMock.Object, this.MapperMock.Object); + this.JwtServiceMock = new Mock(); + this.UserController = new UserController(this.UserServiceMock.Object, this.MapperMock.Object, this.JwtServiceMock.Object); } #region Create @@ -103,7 +106,7 @@ namespace DevHive.Web.Tests }; this.UserServiceMock.Setup(p => p.GetUserById(It.IsAny())).Returns(Task.FromResult(userServiceModel)); - this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(userWebModel); IActionResult result = this.UserController.GetById(id, null).Result; @@ -119,7 +122,7 @@ namespace DevHive.Web.Tests [Test] public void GetById_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized() { - this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(false); IActionResult result = this.UserController.GetById(Guid.NewGuid(), null).Result; @@ -171,44 +174,13 @@ namespace DevHive.Web.Tests }; this.UserServiceMock.Setup(p => p.UpdateUser(It.IsAny())).Returns(Task.FromResult(userServiceModel)); - this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateUserServiceModel); IActionResult result = this.UserController.Update(id, updateUserWebModel, null).Result; Assert.IsInstanceOf(result); } - - [Test] - public void UpdateProfilePicture_ShouldReturnOkObjectResult_WhenProfilePictureIsUpdatedSuccessfully() - { - string profilePictureURL = "goshotrapov"; - UpdateProfilePictureWebModel updateProfilePictureWebModel = new(); - UpdateProfilePictureServiceModel updateProfilePictureServiceModel = new(); - ProfilePictureServiceModel profilePictureServiceModel = new() - { - ProfilePictureURL = profilePictureURL - }; - ProfilePictureWebModel profilePictureWebModel = new() - { - ProfilePictureURL = profilePictureURL - }; - - this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateProfilePictureServiceModel); - this.UserServiceMock.Setup(p => p.UpdateProfilePicture(It.IsAny())).Returns(Task.FromResult(profilePictureServiceModel)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(profilePictureWebModel); - - - IActionResult result = this.UserController.UpdateProfilePicture(Guid.Empty, updateProfilePictureWebModel, null).Result; - - Assert.IsInstanceOf(result); - - AcceptedResult acceptedResult = result as AcceptedResult; - ProfilePictureWebModel resultModel = acceptedResult.Value as ProfilePictureWebModel; - - Assert.AreEqual(profilePictureURL, resultModel.ProfilePictureURL); - } #endregion #region Delete @@ -217,7 +189,7 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.UserServiceMock.Setup(p => p.DeleteUser(It.IsAny())).Returns(Task.FromResult(true)); IActionResult result = this.UserController.Delete(id, null).Result; @@ -231,7 +203,7 @@ namespace DevHive.Web.Tests string message = "Could not delete User"; Guid id = Guid.NewGuid(); - this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); this.UserServiceMock.Setup(p => p.DeleteUser(It.IsAny())).Returns(Task.FromResult(false)); IActionResult result = this.UserController.Delete(id, null).Result; -- cgit v1.2.3 From e725d029bcd05f9c945312a3c931064a14d2bd5e Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 13 Mar 2021 16:10:36 +0200 Subject: Updated user service tests to use jwt service, added some missing mocks to user login and register tests --- .../DevHive.Services.Tests/UserService.Tests.cs | 66 ++++++++-------------- 1 file changed, 22 insertions(+), 44 deletions(-) diff --git a/src/Services/DevHive.Services.Tests/UserService.Tests.cs b/src/Services/DevHive.Services.Tests/UserService.Tests.cs index 8642733..2554706 100644 --- a/src/Services/DevHive.Services.Tests/UserService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/UserService.Tests.cs @@ -1,26 +1,20 @@ using System; using System.Collections.Generic; -using System.IdentityModel.Tokens.Jwt; -using System.Security.Claims; -using System.Text; using System.Threading.Tasks; using AutoMapper; +using DevHive.Common.Jwt.Interfaces; using DevHive.Common.Models.Identity; -using DevHive.Common.Models.Misc; using DevHive.Data.Interfaces; using DevHive.Data.Models; using DevHive.Services.Interfaces; using DevHive.Services.Models.User; -using DevHive.Services.Options; using DevHive.Services.Services; -using Microsoft.AspNetCore.Identity; -using Microsoft.IdentityModel.Tokens; using Moq; using NUnit.Framework; namespace DevHive.Services.Tests { - [TestFixture] + [TestFixture] public class UserServiceTests { private Mock _cloudServiceMock; @@ -29,7 +23,7 @@ namespace DevHive.Services.Tests private Mock _languageRepositoryMock; private Mock _technologyRepositoryMock; private Mock _mapperMock; - private JwtOptions _jwtOptions; + private Mock _jwtServiceMock; private UserService _userService; #region SetUps @@ -41,7 +35,7 @@ namespace DevHive.Services.Tests this._cloudServiceMock = new Mock(); this._languageRepositoryMock = new Mock(); this._technologyRepositoryMock = new Mock(); - this._jwtOptions = new JwtOptions("gXfQlU6qpDleFWyimscjYcT3tgFsQg3yoFjcvSLxG56n1Vu2yptdIUq254wlJWjm"); + this._jwtServiceMock = new Mock(); this._mapperMock = new Mock(); this._userService = new UserService( this._userRepositoryMock.Object, @@ -49,8 +43,8 @@ namespace DevHive.Services.Tests this._roleRepositoryMock.Object, this._technologyRepositoryMock.Object, this._mapperMock.Object, - this._jwtOptions, - this._cloudServiceMock.Object); + this._cloudServiceMock.Object, + this._jwtServiceMock.Object); } #endregion @@ -74,11 +68,15 @@ namespace DevHive.Services.Tests this._userRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny())) .Returns(Task.FromResult(true)); + this._userRepositoryMock.Setup(p => + p.VerifyPassword(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); this._userRepositoryMock.Setup(p => p.GetByUsernameAsync(It.IsAny())) .Returns(Task.FromResult(user)); - string jwtSecurityToken = this.WriteJWTSecurityToken(user.Id, user.UserName, user.Roles); + string jwtSecurityToken = "akjdhfakndvlahdfkljahdlfkjhasldf"; + this._jwtServiceMock.Setup(p => p.GenerateJwtToken(It.IsAny(), It.IsAny(), It.IsAny>())).Returns(jwtSecurityToken); TokenModel tokenModel = await this._userService.LoginUser(loginServiceModel); Assert.AreEqual(jwtSecurityToken, tokenModel.Token, "LoginUser does not return the correct token"); @@ -146,12 +144,21 @@ namespace DevHive.Services.Tests this._userRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny())) .Returns(Task.FromResult(false)); + this._userRepositoryMock.Setup(p => + p.VerifyPassword(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); this._userRepositoryMock.Setup(p => p.DoesEmailExistAsync(It.IsAny())) .Returns(Task.FromResult(false)); this._userRepositoryMock.Setup(p => p.AddAsync(It.IsAny())) .ReturnsAsync(true); + this._userRepositoryMock.Setup(p => + p.AddRoleToUser(It.IsAny(), It.IsAny())) + .ReturnsAsync(true); + this._userRepositoryMock.Setup(p => + p.GetByUsernameAsync(It.IsAny())) + .ReturnsAsync(user); this._roleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())) @@ -164,7 +171,8 @@ namespace DevHive.Services.Tests p.Map(It.IsAny())) .Returns(user); - string jwtSecurityToken = this.WriteJWTSecurityToken(user.Id, user.UserName, roles); + string jwtSecurityToken = "akjdhfakndvlahdfkljahdlfkjhasldf"; + this._jwtServiceMock.Setup(p => p.GenerateJwtToken(It.IsAny(), It.IsAny(), It.IsAny>())).Returns(jwtSecurityToken); TokenModel tokenModel = await this._userService.RegisterUser(registerServiceModel); Assert.AreEqual(jwtSecurityToken, tokenModel.Token, "RegisterUser does not return the correct token"); @@ -413,35 +421,5 @@ namespace DevHive.Services.Tests Assert.AreEqual(exceptionMessage, ex.Message, "Incorrect exception message"); } #endregion - - #region HelperMethods - private string WriteJWTSecurityToken(Guid userId, string username, HashSet roles) - { - byte[] signingKey = Encoding.ASCII.GetBytes(this._jwtOptions.Secret); - HashSet claims = new() - { - new Claim("ID", $"{userId}"), - new Claim("Username", username), - }; - - foreach (Role role in roles) - { - claims.Add(new Claim(ClaimTypes.Role, role.Name)); - } - - SecurityTokenDescriptor tokenDescriptor = new() - { - Subject = new ClaimsIdentity(claims), - Expires = DateTime.Today.AddDays(7), - SigningCredentials = new SigningCredentials( - new SymmetricSecurityKey(signingKey), - SecurityAlgorithms.HmacSha512Signature) - }; - - JwtSecurityTokenHandler tokenHandler = new(); - SecurityToken token = tokenHandler.CreateToken(tokenDescriptor); - return tokenHandler.WriteToken(token); - } - #endregion } } -- cgit v1.2.3 From a64e1a9433a0d1ae340a38752f8b87cd7df8ad78 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 13 Mar 2021 16:14:42 +0200 Subject: Replaced all "new Guid()" with "Guid.NewGuid()" in service tests --- .../DevHive.Services.Tests/CommentService.Tests.cs | 6 +++--- .../DevHive.Services.Tests/LanguageService.Tests.cs | 8 ++++---- src/Services/DevHive.Services.Tests/PostService.Tests.cs | 16 ++++++++-------- src/Services/DevHive.Services.Tests/RoleService.Tests.cs | 8 ++++---- .../DevHive.Services.Tests/TechnologyServices.Tests.cs | 8 ++++---- src/Services/DevHive.Services.Tests/UserService.Tests.cs | 2 +- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/Services/DevHive.Services.Tests/CommentService.Tests.cs b/src/Services/DevHive.Services.Tests/CommentService.Tests.cs index d843375..2d3c97a 100644 --- a/src/Services/DevHive.Services.Tests/CommentService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/CommentService.Tests.cs @@ -120,7 +120,7 @@ namespace DevHive.Services.Tests _ = this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); _ = this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(commentServiceModel); - ReadCommentServiceModel result = await this.CommentService.GetCommentById(new Guid()); + ReadCommentServiceModel result = await this.CommentService.GetCommentById(Guid.NewGuid()); Assert.AreEqual(MESSAGE, result.Message); } @@ -139,7 +139,7 @@ namespace DevHive.Services.Tests _ = this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); - Exception ex = Assert.ThrowsAsync(() => this.CommentService.GetCommentById(new Guid()), "GetCommentById does not throw exception when the user does not exist"); + Exception ex = Assert.ThrowsAsync(() => this.CommentService.GetCommentById(Guid.NewGuid()), "GetCommentById does not throw exception when the user does not exist"); Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message); } @@ -157,7 +157,7 @@ namespace DevHive.Services.Tests _ = this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); _ = this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - Exception ex = Assert.ThrowsAsync(() => this.CommentService.GetCommentById(new Guid())); + Exception ex = Assert.ThrowsAsync(() => this.CommentService.GetCommentById(Guid.NewGuid())); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } diff --git a/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs b/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs index 731091c..e97ff31 100644 --- a/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs @@ -105,7 +105,7 @@ namespace DevHive.Services.Tests [Test] public async Task GetLanguageById_ReturnsTheLanguage_WhenItExists() { - Guid id = new Guid(); + Guid id = Guid.NewGuid(); string name = "Gosho Trapov"; Language language = new Language { @@ -128,7 +128,7 @@ namespace DevHive.Services.Tests public void GetLanguageById_ThrowsException_WhenLanguageDoesNotExist() { string exceptionMessage = "The language does not exist"; - Guid id = new Guid(); + Guid id = Guid.NewGuid(); this.LanguageRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); Exception ex = Assert.ThrowsAsync(() => this.LanguageService.GetLanguageById(id)); @@ -233,7 +233,7 @@ namespace DevHive.Services.Tests [TestCase(false)] public async Task DeleteLanguage_ShouldReturnIfDeletionIsSuccessfull_WhenLanguageExists(bool shouldPass) { - Guid id = new Guid(); + Guid id = Guid.NewGuid(); Language language = new Language(); this.LanguageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(true)); @@ -249,7 +249,7 @@ namespace DevHive.Services.Tests public void DeleteLanguage_ThrowsException_WhenLanguageDoesNotExist() { string exceptionMessage = "Language does not exist!"; - Guid id = new Guid(); + Guid id = Guid.NewGuid(); this.LanguageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(false)); diff --git a/src/Services/DevHive.Services.Tests/PostService.Tests.cs b/src/Services/DevHive.Services.Tests/PostService.Tests.cs index 137b8d1..b7f9a9d 100644 --- a/src/Services/DevHive.Services.Tests/PostService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/PostService.Tests.cs @@ -107,7 +107,7 @@ namespace DevHive.Services.Tests [Test] public async Task GetPostById_ReturnsThePost_WhenItExists() { - Guid creatorId = new Guid(); + Guid creatorId = Guid.NewGuid(); User creator = new User { Id = creatorId }; Post post = new Post { @@ -127,7 +127,7 @@ namespace DevHive.Services.Tests this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readPostServiceModel); - ReadPostServiceModel result = await this.PostService.GetPostById(new Guid()); + ReadPostServiceModel result = await this.PostService.GetPostById(Guid.NewGuid()); Assert.AreEqual(MESSAGE, result.Message); } @@ -136,7 +136,7 @@ namespace DevHive.Services.Tests public void GetPostById_ThorwsException_WhenTheUserDoesNotExist() { const string EXCEPTION_MESSAGE = "The user does not exist!"; - Guid creatorId = new Guid(); + Guid creatorId = Guid.NewGuid(); User creator = new User { Id = creatorId }; Post post = new Post { @@ -146,7 +146,7 @@ namespace DevHive.Services.Tests this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); - Exception ex = Assert.ThrowsAsync(() => this.PostService.GetPostById(new Guid()), "GetPostById does not throw exception when the user does not exist"); + Exception ex = Assert.ThrowsAsync(() => this.PostService.GetPostById(Guid.NewGuid()), "GetPostById does not throw exception when the user does not exist"); Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message); } @@ -155,7 +155,7 @@ namespace DevHive.Services.Tests public void GetPostById_ThrowsException_WhenCommentDoesNotExist() { string exceptionMessage = "The post does not exist!"; - Guid creatorId = new Guid(); + Guid creatorId = Guid.NewGuid(); User user = new User { Id = creatorId, @@ -164,7 +164,7 @@ namespace DevHive.Services.Tests this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - Exception ex = Assert.ThrowsAsync(() => this.PostService.GetPostById(new Guid())); + Exception ex = Assert.ThrowsAsync(() => this.PostService.GetPostById(Guid.NewGuid())); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -242,7 +242,7 @@ namespace DevHive.Services.Tests [TestCase(false)] public async Task Deletepost_ShouldReturnIfDeletionIsSuccessfull_WhenPostExists(bool shouldPass) { - Guid id = new Guid(); + Guid id = Guid.NewGuid(); Post post = new Post(); this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); @@ -258,7 +258,7 @@ namespace DevHive.Services.Tests public void DeletePost_ThrowsException_WhenPostDoesNotExist() { string exceptionMessage = "Post does not exist!"; - Guid id = new Guid(); + Guid id = Guid.NewGuid(); this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(false)); diff --git a/src/Services/DevHive.Services.Tests/RoleService.Tests.cs b/src/Services/DevHive.Services.Tests/RoleService.Tests.cs index 29d5df2..f12ddc5 100644 --- a/src/Services/DevHive.Services.Tests/RoleService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/RoleService.Tests.cs @@ -103,7 +103,7 @@ namespace DevHive.Services.Tests [Test] public async Task GetRoleById_ReturnsTheRole_WhenItExists() { - Guid id = new Guid(); + Guid id = Guid.NewGuid(); string name = "Gosho Trapov"; Role role = new Role { @@ -126,7 +126,7 @@ namespace DevHive.Services.Tests public void GetRoleById_ThrowsException_WhenRoleDoesNotExist() { string exceptionMessage = "Role does not exist!"; - Guid id = new Guid(); + Guid id = Guid.NewGuid(); this.RoleRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); Exception ex = Assert.ThrowsAsync(() => this.RoleService.GetRoleById(id)); @@ -201,7 +201,7 @@ namespace DevHive.Services.Tests [TestCase(false)] public async Task DeleteRole_ShouldReturnIfDeletionIsSuccessfull_WhenRoleExists(bool shouldPass) { - Guid id = new Guid(); + Guid id = Guid.NewGuid(); Role role = new Role(); this.RoleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(true)); @@ -217,7 +217,7 @@ namespace DevHive.Services.Tests public void DeleteRole_ThrowsException_WhenRoleDoesNotExist() { string exceptionMessage = "Role does not exist!"; - Guid id = new Guid(); + Guid id = Guid.NewGuid(); this.RoleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(false)); diff --git a/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs b/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs index a43d4b9..b53fc03 100644 --- a/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs +++ b/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs @@ -104,7 +104,7 @@ namespace DevHive.Services.Tests [Test] public async Task GetTechnologyById_ReturnsTheTechnology_WhenItExists() { - Guid id = new Guid(); + Guid id = Guid.NewGuid(); string name = "Gosho Trapov"; Technology technology = new() { @@ -127,7 +127,7 @@ namespace DevHive.Services.Tests public void GetTechnologyById_ThrowsException_WhenTechnologyDoesNotExist() { string exceptionMessage = "The technology does not exist"; - Guid id = new Guid(); + Guid id = Guid.NewGuid(); this.TechnologyRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); Exception ex = Assert.ThrowsAsync(() => this.TechnologyService.GetTechnologyById(id)); @@ -233,7 +233,7 @@ namespace DevHive.Services.Tests [TestCase(false)] public async Task DeleteTechnology_ShouldReturnIfDeletionIsSuccessfull_WhenTechnologyExists(bool shouldPass) { - Guid id = new Guid(); + Guid id = Guid.NewGuid(); Technology technology = new Technology(); this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(true)); @@ -249,7 +249,7 @@ namespace DevHive.Services.Tests public void DeleteTechnology_ThrowsException_WhenTechnologyDoesNotExist() { string exceptionMessage = "Technology does not exist!"; - Guid id = new Guid(); + Guid id = Guid.NewGuid(); this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(false)); diff --git a/src/Services/DevHive.Services.Tests/UserService.Tests.cs b/src/Services/DevHive.Services.Tests/UserService.Tests.cs index 2554706..946514b 100644 --- a/src/Services/DevHive.Services.Tests/UserService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/UserService.Tests.cs @@ -388,7 +388,7 @@ namespace DevHive.Services.Tests // [TestCase(false)] // public async Task DeleteUser_ShouldReturnIfDeletionIsSuccessfull_WhenUserExists(bool shouldPass) // { - // Guid id = new Guid(); + // Guid id = Guid.NewGuid(); // User user = new User(); // // this._userRepositoryMock.Setup(p => -- cgit v1.2.3 From 25228c4a018e7d4de4efd3d11d19c99086fd46be Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 13 Mar 2021 16:16:29 +0200 Subject: Removed unused local variables in service tests --- src/Services/DevHive.Services.Tests/PostService.Tests.cs | 4 ---- src/Services/DevHive.Services.Tests/RoleService.Tests.cs | 4 ---- src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs | 4 ---- src/Services/DevHive.Services.Tests/UserService.Tests.cs | 1 - 4 files changed, 13 deletions(-) diff --git a/src/Services/DevHive.Services.Tests/PostService.Tests.cs b/src/Services/DevHive.Services.Tests/PostService.Tests.cs index b7f9a9d..799824b 100644 --- a/src/Services/DevHive.Services.Tests/PostService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/PostService.Tests.cs @@ -92,10 +92,6 @@ namespace DevHive.Services.Tests CreatePostServiceModel createPostServiceModel = new CreatePostServiceModel { }; - Post post = new Post - { - Message = MESSAGE, - }; Exception ex = Assert.ThrowsAsync(() => this.PostService.CreatePost(createPostServiceModel), "CreatePost does not throw excpeion when the user does not exist"); diff --git a/src/Services/DevHive.Services.Tests/RoleService.Tests.cs b/src/Services/DevHive.Services.Tests/RoleService.Tests.cs index f12ddc5..2577679 100644 --- a/src/Services/DevHive.Services.Tests/RoleService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/RoleService.Tests.cs @@ -86,10 +86,6 @@ namespace DevHive.Services.Tests { Name = roleName }; - Role role = new Role - { - Name = roleName - }; this.RoleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(true)); diff --git a/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs b/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs index b53fc03..5f56f19 100644 --- a/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs +++ b/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs @@ -87,10 +87,6 @@ namespace DevHive.Services.Tests { Name = technologyName }; - Technology technology = new() - { - Name = technologyName - }; this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); diff --git a/src/Services/DevHive.Services.Tests/UserService.Tests.cs b/src/Services/DevHive.Services.Tests/UserService.Tests.cs index 946514b..58ee223 100644 --- a/src/Services/DevHive.Services.Tests/UserService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/UserService.Tests.cs @@ -139,7 +139,6 @@ namespace DevHive.Services.Tests UserName = "g_trapov" }; Role role = new() { Name = Role.DefaultRole }; - HashSet roles = new() { role }; this._userRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny())) -- cgit v1.2.3 From 662d7838f1cb03ea069a6bf4d2a3f0e0fb8135dd Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 13 Mar 2021 16:26:23 +0200 Subject: Comented out role and user repository tests, since we now use role and user manager and they might be obsolete --- .../DevHive.Data.Tests/RoleRepository.Tests.cs | 206 ++++----- src/Data/DevHive.Data.Tests/UserRepositoryTests.cs | 494 ++++++++++----------- 2 files changed, 350 insertions(+), 350 deletions(-) diff --git a/src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs b/src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs index 2e43cf7..7a248d3 100644 --- a/src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs @@ -13,108 +13,108 @@ namespace DevHive.Data.Tests [TestFixture] public class RoleRepositoryTests { - private const string ROLE_NAME = "Role test name"; - private DevHiveContext _context; - private RoleRepository _roleRepository; - - #region Setups - [SetUp] - public void Setup() - { - DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder() - .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - - this._context = new DevHiveContext(optionsBuilder.Options); - - Mock> roleManagerMock = new(); - this._roleRepository = new(this._context, roleManagerMock.Object); - } - - [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 this.AddEntity(); - Role role = this._context.Roles.Where(x => x.Name == ROLE_NAME).AsEnumerable().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() - { - Id = Guid.NewGuid(), - Name = name - }; - - _ = this._context.Roles.Add(role); - _ = await this._context.SaveChangesAsync(); - - return role; - } - #endregion + // private const string ROLE_NAME = "Role test name"; + // private DevHiveContext _context; + // private RoleRepository _roleRepository; + // + // #region Setups + // [SetUp] + // public void Setup() + // { + // DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder() + // .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); + // + // this._context = new DevHiveContext(optionsBuilder.Options); + // + // Mock> roleManagerMock = new(); + // this._roleRepository = new(this._context, roleManagerMock.Object); + // } + // + // [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 this.AddEntity(); + // Role role = this._context.Roles.Where(x => x.Name == ROLE_NAME).AsEnumerable().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() + // { + // Id = Guid.NewGuid(), + // Name = name + // }; + // + // _ = this._context.Roles.Add(role); + // _ = await this._context.SaveChangesAsync(); + // + // return role; + // } + // #endregion } } diff --git a/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs b/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs index 4ff5ef7..e8fc034 100644 --- a/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs +++ b/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs @@ -14,252 +14,252 @@ namespace DevHive.Data.Tests [TestFixture] public class UserRepositoryTests { - private DevHiveContext _context; - private UserRepository _userRepository; - - #region Setups - [SetUp] - public void Setup() - { - DbContextOptionsBuilder options = new DbContextOptionsBuilder() - .UseInMemoryDatabase("DevHive_UserRepository_Database"); - this._context = new DevHiveContext(options.Options); - - Guid userId = Guid.NewGuid(); - Mock> userStore = new(); - userStore.Setup(x => x.FindByIdAsync(userId.ToString(), CancellationToken.None)) - .ReturnsAsync(new User() - { - Id = userId, - UserName = "test", - }); - Mock> userManagerMock = new(userStore.Object, null, null, null, null, null, null, null, null); - - Guid roleId = Guid.NewGuid(); - Mock> roleStore = new(); - roleStore.Setup(x => x.FindByIdAsync(roleId.ToString(), CancellationToken.None)) - .ReturnsAsync(new Role() - { - Id = roleId, - Name = "test", - }); - Mock> roleManagerMock = new(roleStore.Object, null, null, null, null); - this._userRepository = new(this._context, userManagerMock.Object, roleManagerMock.Object); - } - - [TearDown] - public async Task Teardown() - { - _ = await this._context.Database.EnsureDeletedAsync(); - } - #endregion - - #region EditAsync - [Test] - public async Task EditAsync_ReturnsTrue_WhenUserIsUpdatedSuccessfully() - { - User oldUser = 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 = 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 = 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 = 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 DoesUserHaveThisUsernameAsync - [Test] - public async Task DoesUserHaveThisUsername_ReturnsTrue_WhenUserHasTheGivenUsername() - { - User dummyUser = CreateDummyUser(); - _ = this._context.Users.Add(dummyUser); - _ = await this._context.SaveChangesAsync(); - - bool result = await this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, dummyUser.UserName); - - Assert.IsTrue(result, "DoesUserHaveThisUsernameAsync does not return true when the user has the given name"); - } - - [Test] - public async Task DoesUserHaveThisUsername_ReturnsFalse_WhenUserDoesntHaveTheGivenUsername() - { - string username = "Fake username"; - User dummyUser = CreateDummyUser(); - _ = this._context.Users.Add(dummyUser); - _ = await this._context.SaveChangesAsync(); - - bool result = await this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, username); - - Assert.IsFalse(result, "DoesUserNameExistAsync does not return false when user doesnt have the given name"); - } - #endregion - - #region HelperMethods - private static 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 - }; - } - #endregion + // private DevHiveContext _context; + // private UserRepository _userRepository; + // + // #region Setups + // [SetUp] + // public void Setup() + // { + // DbContextOptionsBuilder options = new DbContextOptionsBuilder() + // .UseInMemoryDatabase("DevHive_UserRepository_Database"); + // this._context = new DevHiveContext(options.Options); + // + // Guid userId = Guid.NewGuid(); + // Mock> userStore = new(); + // userStore.Setup(x => x.FindByIdAsync(userId.ToString(), CancellationToken.None)) + // .ReturnsAsync(new User() + // { + // Id = userId, + // UserName = "test", + // }); + // Mock> userManagerMock = new(userStore.Object, null, null, null, null, null, null, null, null); + // + // Guid roleId = Guid.NewGuid(); + // Mock> roleStore = new(); + // roleStore.Setup(x => x.FindByIdAsync(roleId.ToString(), CancellationToken.None)) + // .ReturnsAsync(new Role() + // { + // Id = roleId, + // Name = "test", + // }); + // Mock> roleManagerMock = new(roleStore.Object, null, null, null, null); + // this._userRepository = new(this._context, userManagerMock.Object, roleManagerMock.Object); + // } + // + // [TearDown] + // public async Task Teardown() + // { + // _ = await this._context.Database.EnsureDeletedAsync(); + // } + // #endregion + // + // #region EditAsync + // [Test] + // public async Task EditAsync_ReturnsTrue_WhenUserIsUpdatedSuccessfully() + // { + // User oldUser = 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 = 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 = 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 = 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.DoesEmailExistAsync(email); + // + // Assert.IsFalse(result, "DoesUserNameExistAsync does not return false when email does not exist"); + // } + // #endregion + // + // #region DoesUserHaveThisUsernameAsync + // [Test] + // public async Task DoesUserHaveThisUsername_ReturnsTrue_WhenUserHasTheGivenUsername() + // { + // User dummyUser = CreateDummyUser(); + // _ = this._context.Users.Add(dummyUser); + // _ = await this._context.SaveChangesAsync(); + // + // bool result = await this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, dummyUser.UserName); + // + // Assert.IsTrue(result, "DoesUserHaveThisUsernameAsync does not return true when the user has the given name"); + // } + // + // [Test] + // public async Task DoesUserHaveThisUsername_ReturnsFalse_WhenUserDoesntHaveTheGivenUsername() + // { + // string username = "Fake username"; + // User dummyUser = CreateDummyUser(); + // _ = this._context.Users.Add(dummyUser); + // _ = await this._context.SaveChangesAsync(); + // + // bool result = await this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, username); + // + // Assert.IsFalse(result, "DoesUserNameExistAsync does not return false when user doesnt have the given name"); + // } + // #endregion + // + // #region HelperMethods + // private static 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 + // }; + // } + // #endregion } } -- cgit v1.2.3 From 97459890f8c25b1af2a17109055afea53ee0b280 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 13 Mar 2021 16:34:45 +0200 Subject: When user has no friends, returned feed is just an empty array, rather than throwing an exception --- src/Services/DevHive.Services/Services/FeedService.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/Services/DevHive.Services/Services/FeedService.cs b/src/Services/DevHive.Services/Services/FeedService.cs index c16ffae..0af8093 100644 --- a/src/Services/DevHive.Services/Services/FeedService.cs +++ b/src/Services/DevHive.Services/Services/FeedService.cs @@ -42,9 +42,6 @@ namespace DevHive.Services.Services if (user == null) throw new ArgumentException("User doesn't exist!"); - if (user.Friends.Count == 0) - throw new ArgumentException("User has no friends to get feed from!"); - List posts = await this._feedRepository .GetFriendsPosts(user.Friends.ToList(), getPageServiceModel.FirstRequestIssued, getPageServiceModel.PageNumber, getPageServiceModel.PageSize); -- cgit v1.2.3 From af2a9b9886b429489e4ef4c2467d0e9e40520c12 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 14 Mar 2021 10:59:12 +0200 Subject: Made properties into variables in Web layer tests --- .../DevHive.Web.Tests/CommentController.Tests.cs | 96 +++++++++++----------- src/Web/DevHive.Web.Tests/FeedController.Tests.cs | 28 +++---- .../DevHive.Web.Tests/LanguageController.Tests.cs | 50 +++++------ src/Web/DevHive.Web.Tests/PostController.Tests.cs | 90 ++++++++++---------- src/Web/DevHive.Web.Tests/RoleController.Tests.cs | 50 +++++------ .../TechnologyController.Tests.cs | 51 ++++++------ src/Web/DevHive.Web.Tests/UserController.Tests.cs | 70 ++++++++-------- 7 files changed, 217 insertions(+), 218 deletions(-) diff --git a/src/Web/DevHive.Web.Tests/CommentController.Tests.cs b/src/Web/DevHive.Web.Tests/CommentController.Tests.cs index 7a15d37..3b7f0a9 100644 --- a/src/Web/DevHive.Web.Tests/CommentController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/CommentController.Tests.cs @@ -17,19 +17,19 @@ namespace DevHive.Web.Tests public class CommentControllerTests { const string MESSAGE = "Gosho Trapov"; - private Mock CommentServiceMock { get; set; } - private Mock MapperMock { get; set; } - private Mock JwtServiceMock { get; set; } - private CommentController CommentController { get; set; } + private Mock _commentServiceMock; + private Mock _mapperMock; + private Mock _jwtServiceMock; + private CommentController _commentController; #region Setup [SetUp] public void SetUp() { - this.CommentServiceMock = new Mock(); - this.MapperMock = new Mock(); - this.JwtServiceMock = new Mock(); - this.CommentController = new CommentController(this.CommentServiceMock.Object, this.MapperMock.Object, this.JwtServiceMock.Object); + this._commentServiceMock = new Mock(); + this._mapperMock = new Mock(); + this._jwtServiceMock = new Mock(); + this._commentController = new CommentController(this._commentServiceMock.Object, this._mapperMock.Object, this._jwtServiceMock.Object); } #endregion @@ -47,12 +47,12 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createCommentServiceModel); - this.CommentServiceMock.Setup(p => p.AddComment(It.IsAny())).Returns(Task.FromResult(id)); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.CommentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createCommentServiceModel); + this._commentServiceMock.Setup(p => p.AddComment(It.IsAny())).Returns(Task.FromResult(id)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._commentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; + IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; Assert.IsInstanceOf(result); @@ -81,12 +81,12 @@ namespace DevHive.Web.Tests string errorMessage = $"Could not create comment!"; - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createCommentServiceModel); - this.CommentServiceMock.Setup(p => p.AddComment(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.CommentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createCommentServiceModel); + this._commentServiceMock.Setup(p => p.AddComment(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._commentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; + IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; Assert.IsInstanceOf(result); @@ -104,10 +104,10 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.CommentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._commentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; + IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; Assert.IsInstanceOf(result); } @@ -127,11 +127,11 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.CommentServiceMock.Setup(p => p.GetCommentById(It.IsAny())).Returns(Task.FromResult(readCommentServiceModel)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readCommentWebModel); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._commentServiceMock.Setup(p => p.GetCommentById(It.IsAny())).Returns(Task.FromResult(readCommentServiceModel)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readCommentWebModel); - IActionResult result = this.CommentController.GetCommentById(id).Result; + IActionResult result = this._commentController.GetCommentById(id).Result; Assert.IsInstanceOf(result); @@ -156,12 +156,12 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this.CommentServiceMock.Setup(p => p.UpdateComment(It.IsAny())).Returns(Task.FromResult(id)); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateCommentServiceModel); + this._commentServiceMock.Setup(p => p.UpdateComment(It.IsAny())).Returns(Task.FromResult(id)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._commentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateCommentServiceModel); - IActionResult result = this.CommentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; + IActionResult result = this._commentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; Assert.IsInstanceOf(result); @@ -185,12 +185,12 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this.CommentServiceMock.Setup(p => p.UpdateComment(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateCommentServiceModel); + this._commentServiceMock.Setup(p => p.UpdateComment(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._commentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateCommentServiceModel); - IActionResult result = this.CommentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; + IActionResult result = this._commentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; Assert.IsInstanceOf(result); BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult; @@ -207,10 +207,10 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(false); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(false); // this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - IActionResult result = this.CommentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; + IActionResult result = this._commentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; Assert.IsInstanceOf(result); } @@ -222,11 +222,11 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.CommentServiceMock.Setup(p => p.DeleteComment(It.IsAny())).Returns(Task.FromResult(true)); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._commentServiceMock.Setup(p => p.DeleteComment(It.IsAny())).Returns(Task.FromResult(true)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._commentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.CommentController.DeleteComment(id, null).Result; + IActionResult result = this._commentController.DeleteComment(id, null).Result; Assert.IsInstanceOf(result); } @@ -237,11 +237,11 @@ namespace DevHive.Web.Tests string message = "Could not delete Comment"; Guid id = Guid.NewGuid(); - this.CommentServiceMock.Setup(p => p.DeleteComment(It.IsAny())).Returns(Task.FromResult(false)); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._commentServiceMock.Setup(p => p.DeleteComment(It.IsAny())).Returns(Task.FromResult(false)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._commentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.CommentController.DeleteComment(id, null).Result; + IActionResult result = this._commentController.DeleteComment(id, null).Result; Assert.IsInstanceOf(result); @@ -254,10 +254,10 @@ namespace DevHive.Web.Tests [Test] public void DeleteComment_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized() { - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._commentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - IActionResult result = this.CommentController.DeleteComment(Guid.Empty, null).Result; + IActionResult result = this._commentController.DeleteComment(Guid.Empty, null).Result; Assert.IsInstanceOf(result); } diff --git a/src/Web/DevHive.Web.Tests/FeedController.Tests.cs b/src/Web/DevHive.Web.Tests/FeedController.Tests.cs index 01f67e5..80a2a14 100644 --- a/src/Web/DevHive.Web.Tests/FeedController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/FeedController.Tests.cs @@ -17,17 +17,17 @@ namespace DevHive.Web.Tests [TestFixture] public class FeedControllerTests { - private Mock FeedServiceMock { get; set; } - private Mock MapperMock { get; set; } - private FeedController FeedController { get; set; } + private Mock _feedServiceMock; + private Mock _mapperMock; + private FeedController _feedController; #region SetUp [SetUp] public void SetUp() { - this.FeedServiceMock = new Mock(); - this.MapperMock = new Mock(); - this.FeedController = new FeedController(this.FeedServiceMock.Object, this.MapperMock.Object); + this._feedServiceMock = new Mock(); + this._mapperMock = new Mock(); + this._feedController = new FeedController(this._feedServiceMock.Object, this._mapperMock.Object); } #endregion @@ -48,11 +48,11 @@ namespace DevHive.Web.Tests } }; - this.FeedServiceMock.Setup(p => p.GetPage(It.IsAny())).Returns(Task.FromResult(readPageServiceModel)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(getPageServiceModel); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readPageWebModel); + this._feedServiceMock.Setup(p => p.GetPage(It.IsAny())).Returns(Task.FromResult(readPageServiceModel)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(getPageServiceModel); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readPageWebModel); - IActionResult result = await this.FeedController.GetPosts(Guid.Empty, getPageWebModel); + IActionResult result = await this._feedController.GetPosts(Guid.Empty, getPageWebModel); Assert.IsInstanceOf(result); @@ -80,11 +80,11 @@ namespace DevHive.Web.Tests } }; - this.FeedServiceMock.Setup(p => p.GetUserPage(It.IsAny())).Returns(Task.FromResult(readPageServiceModel)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(getPageServiceModel); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readPageWebModel); + this._feedServiceMock.Setup(p => p.GetUserPage(It.IsAny())).Returns(Task.FromResult(readPageServiceModel)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(getPageServiceModel); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readPageWebModel); - IActionResult result = await this.FeedController.GetUserPosts(null, getPageWebModel); + IActionResult result = await this._feedController.GetUserPosts(null, getPageWebModel); Assert.IsInstanceOf(result); diff --git a/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs b/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs index af4672a..f11e1a1 100644 --- a/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs @@ -16,16 +16,16 @@ namespace DevHive.Web.Tests public class LanguageControllerTests { const string NAME = "Gosho Trapov"; - private Mock LanguageServiceMock { get; set; } - private Mock MapperMock { get; set; } - private LanguageController LanguageController { get; set; } + private Mock _languageServiceMock; + private Mock _mapperMock; + private LanguageController _languageController; [SetUp] public void SetUp() { - this.LanguageServiceMock = new Mock(); - this.MapperMock = new Mock(); - this.LanguageController = new LanguageController(this.LanguageServiceMock.Object, this.MapperMock.Object); + this._languageServiceMock = new Mock(); + this._mapperMock = new Mock(); + this._languageController = new LanguageController(this._languageServiceMock.Object, this._mapperMock.Object); } #region Create @@ -42,10 +42,10 @@ namespace DevHive.Web.Tests }; Guid id = Guid.NewGuid(); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createLanguageServiceModel); - this.LanguageServiceMock.Setup(p => p.CreateLanguage(It.IsAny())).Returns(Task.FromResult(id)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createLanguageServiceModel); + this._languageServiceMock.Setup(p => p.CreateLanguage(It.IsAny())).Returns(Task.FromResult(id)); - IActionResult result = this.LanguageController.Create(createLanguageWebModel).Result; + IActionResult result = this._languageController.Create(createLanguageWebModel).Result; Assert.IsInstanceOf(result); @@ -74,10 +74,10 @@ namespace DevHive.Web.Tests Guid id = Guid.Empty; string errorMessage = $"Could not create language {NAME}"; - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); - this.LanguageServiceMock.Setup(p => p.CreateLanguage(It.IsAny())).Returns(Task.FromResult(id)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); + this._languageServiceMock.Setup(p => p.CreateLanguage(It.IsAny())).Returns(Task.FromResult(id)); - IActionResult result = this.LanguageController.Create(createTechnologyWebModel).Result; + IActionResult result = this._languageController.Create(createTechnologyWebModel).Result; Assert.IsInstanceOf(result); @@ -103,10 +103,10 @@ namespace DevHive.Web.Tests Name = NAME }; - this.LanguageServiceMock.Setup(p => p.GetLanguageById(It.IsAny())).Returns(Task.FromResult(readLanguageServiceModel)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readLanguageWebModel); + this._languageServiceMock.Setup(p => p.GetLanguageById(It.IsAny())).Returns(Task.FromResult(readLanguageServiceModel)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readLanguageWebModel); - IActionResult result = this.LanguageController.GetById(id).Result; + IActionResult result = this._languageController.GetById(id).Result; Assert.IsInstanceOf(result); @@ -131,10 +131,10 @@ namespace DevHive.Web.Tests Name = NAME }; - this.LanguageServiceMock.Setup(p => p.UpdateLanguage(It.IsAny())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateLanguageServiceModel); + this._languageServiceMock.Setup(p => p.UpdateLanguage(It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateLanguageServiceModel); - IActionResult result = this.LanguageController.Update(id, updateLanguageWebModel).Result; + IActionResult result = this._languageController.Update(id, updateLanguageWebModel).Result; Assert.IsInstanceOf(result); } @@ -153,10 +153,10 @@ namespace DevHive.Web.Tests Name = NAME }; - this.LanguageServiceMock.Setup(p => p.UpdateLanguage(It.IsAny())).Returns(Task.FromResult(false)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateLanguageServiceModel); + this._languageServiceMock.Setup(p => p.UpdateLanguage(It.IsAny())).Returns(Task.FromResult(false)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateLanguageServiceModel); - IActionResult result = this.LanguageController.Update(id, updateLanguageWebModel).Result; + IActionResult result = this._languageController.Update(id, updateLanguageWebModel).Result; Assert.IsInstanceOf(result); BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult; @@ -172,9 +172,9 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.LanguageServiceMock.Setup(p => p.DeleteLanguage(It.IsAny())).Returns(Task.FromResult(true)); + this._languageServiceMock.Setup(p => p.DeleteLanguage(It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.LanguageController.Delete(id).Result; + IActionResult result = this._languageController.Delete(id).Result; Assert.IsInstanceOf(result); } @@ -185,9 +185,9 @@ namespace DevHive.Web.Tests string message = "Could not delete Language"; Guid id = Guid.NewGuid(); - this.LanguageServiceMock.Setup(p => p.DeleteLanguage(It.IsAny())).Returns(Task.FromResult(false)); + this._languageServiceMock.Setup(p => p.DeleteLanguage(It.IsAny())).Returns(Task.FromResult(false)); - IActionResult result = this.LanguageController.Delete(id).Result; + IActionResult result = this._languageController.Delete(id).Result; Assert.IsInstanceOf(result); diff --git a/src/Web/DevHive.Web.Tests/PostController.Tests.cs b/src/Web/DevHive.Web.Tests/PostController.Tests.cs index 438eb80..c2c2fbc 100644 --- a/src/Web/DevHive.Web.Tests/PostController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/PostController.Tests.cs @@ -17,18 +17,18 @@ namespace DevHive.Web.Tests public class PostControllerTests { const string MESSAGE = "Gosho Trapov"; - private Mock PostServiceMock { get; set; } - private Mock MapperMock { get; set; } - private Mock JwtServiceMock { get; set; } - private PostController PostController { get; set; } + private Mock _postServiceMock; + private Mock _mapperMock; + private Mock _jwtServiceMock; + private PostController _postController; [SetUp] public void SetUp() { - this.PostServiceMock = new Mock(); - this.MapperMock = new Mock(); - this.JwtServiceMock = new Mock(); - this.PostController = new PostController(this.PostServiceMock.Object, this.MapperMock.Object, this.JwtServiceMock.Object); + this._postServiceMock = new Mock(); + this._mapperMock = new Mock(); + this._jwtServiceMock = new Mock(); + this._postController = new PostController(this._postServiceMock.Object, this._mapperMock.Object, this._jwtServiceMock.Object); } #region Create @@ -45,12 +45,12 @@ namespace DevHive.Web.Tests }; Guid id = Guid.NewGuid(); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createPostServiceModel); - this.PostServiceMock.Setup(p => p.CreatePost(It.IsAny())).Returns(Task.FromResult(id)); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.PostServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createPostServiceModel); + this._postServiceMock.Setup(p => p.CreatePost(It.IsAny())).Returns(Task.FromResult(id)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._postServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.PostController.Create(Guid.Empty, createPostWebModel, null).Result; + IActionResult result = this._postController.Create(Guid.Empty, createPostWebModel, null).Result; Assert.IsInstanceOf(result); @@ -79,12 +79,12 @@ namespace DevHive.Web.Tests Guid id = Guid.Empty; string errorMessage = $"Could not create post!"; - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); - this.PostServiceMock.Setup(p => p.CreatePost(It.IsAny())).Returns(Task.FromResult(id)); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.PostServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); + this._postServiceMock.Setup(p => p.CreatePost(It.IsAny())).Returns(Task.FromResult(id)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._postServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.PostController.Create(Guid.Empty, createTechnologyWebModel, null).Result; + IActionResult result = this._postController.Create(Guid.Empty, createTechnologyWebModel, null).Result; Assert.IsInstanceOf(result); @@ -102,9 +102,9 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this.PostServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this._postServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - IActionResult result = this.PostController.Create(Guid.NewGuid(), createPostWebModel, null).Result; + IActionResult result = this._postController.Create(Guid.NewGuid(), createPostWebModel, null).Result; Assert.IsInstanceOf(result); } @@ -125,10 +125,10 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this.PostServiceMock.Setup(p => p.GetPostById(It.IsAny())).Returns(Task.FromResult(readPostServiceModel)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readPostWebModel); + this._postServiceMock.Setup(p => p.GetPostById(It.IsAny())).Returns(Task.FromResult(readPostServiceModel)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readPostWebModel); - IActionResult result = this.PostController.GetById(id).Result; + IActionResult result = this._postController.GetById(id).Result; Assert.IsInstanceOf(result); @@ -153,12 +153,12 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this.PostServiceMock.Setup(p => p.UpdatePost(It.IsAny())).Returns(Task.FromResult(id)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updatePostServiceModel); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._postServiceMock.Setup(p => p.UpdatePost(It.IsAny())).Returns(Task.FromResult(id)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updatePostServiceModel); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._postServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.PostController.Update(id, updatePostWebModel, null).Result; + IActionResult result = this._postController.Update(id, updatePostWebModel, null).Result; Assert.IsInstanceOf(result); } @@ -177,12 +177,12 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this.PostServiceMock.Setup(p => p.UpdatePost(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updatePostServiceModel); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._postServiceMock.Setup(p => p.UpdatePost(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updatePostServiceModel); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._postServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.PostController.Update(id, updatePostWebModel, null).Result; + IActionResult result = this._postController.Update(id, updatePostWebModel, null).Result; Assert.IsInstanceOf(result); BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult; @@ -199,9 +199,9 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this._postServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - IActionResult result = this.PostController.Update(Guid.Empty, updatePostWebModel, null).Result; + IActionResult result = this._postController.Update(Guid.Empty, updatePostWebModel, null).Result; Assert.IsInstanceOf(result); } @@ -213,11 +213,11 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.PostServiceMock.Setup(p => p.DeletePost(It.IsAny())).Returns(Task.FromResult(true)); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._postServiceMock.Setup(p => p.DeletePost(It.IsAny())).Returns(Task.FromResult(true)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._postServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.PostController.Delete(id, null).Result; + IActionResult result = this._postController.Delete(id, null).Result; Assert.IsInstanceOf(result); } @@ -228,11 +228,11 @@ namespace DevHive.Web.Tests string message = "Could not delete Post"; Guid id = Guid.NewGuid(); - this.PostServiceMock.Setup(p => p.DeletePost(It.IsAny())).Returns(Task.FromResult(false)); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._postServiceMock.Setup(p => p.DeletePost(It.IsAny())).Returns(Task.FromResult(false)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._postServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.PostController.Delete(id, null).Result; + IActionResult result = this._postController.Delete(id, null).Result; Assert.IsInstanceOf(result); @@ -245,9 +245,9 @@ namespace DevHive.Web.Tests [Test] public void DeletePost_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized() { - this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this._postServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - IActionResult result = this.PostController.Delete(Guid.Empty, null).Result; + IActionResult result = this._postController.Delete(Guid.Empty, null).Result; Assert.IsInstanceOf(result); } diff --git a/src/Web/DevHive.Web.Tests/RoleController.Tests.cs b/src/Web/DevHive.Web.Tests/RoleController.Tests.cs index ff80dc0..83358a0 100644 --- a/src/Web/DevHive.Web.Tests/RoleController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/RoleController.Tests.cs @@ -16,16 +16,16 @@ namespace DevHive.Web.Tests public class RoleControllerTests { const string NAME = "Gosho Trapov"; - private Mock RoleServiceMock { get; set; } - private Mock MapperMock { get; set; } - private RoleController RoleController { get; set; } + private Mock _roleServiceMock; + private Mock _mapperMock; + private RoleController _roleController; [SetUp] public void SetUp() { - this.RoleServiceMock = new Mock(); - this.MapperMock = new Mock(); - this.RoleController = new RoleController(this.RoleServiceMock.Object, this.MapperMock.Object); + this._roleServiceMock = new Mock(); + this._mapperMock = new Mock(); + this._roleController = new RoleController(this._roleServiceMock.Object, this._mapperMock.Object); } #region Create @@ -42,10 +42,10 @@ namespace DevHive.Web.Tests }; Guid id = Guid.NewGuid(); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createRoleServiceModel); - this.RoleServiceMock.Setup(p => p.CreateRole(It.IsAny())).Returns(Task.FromResult(id)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createRoleServiceModel); + this._roleServiceMock.Setup(p => p.CreateRole(It.IsAny())).Returns(Task.FromResult(id)); - IActionResult result = this.RoleController.Create(createRoleWebModel).Result; + IActionResult result = this._roleController.Create(createRoleWebModel).Result; Assert.IsInstanceOf(result); @@ -74,10 +74,10 @@ namespace DevHive.Web.Tests Guid id = Guid.Empty; string errorMessage = $"Could not create role {NAME}"; - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); - this.RoleServiceMock.Setup(p => p.CreateRole(It.IsAny())).Returns(Task.FromResult(id)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); + this._roleServiceMock.Setup(p => p.CreateRole(It.IsAny())).Returns(Task.FromResult(id)); - IActionResult result = this.RoleController.Create(createTechnologyWebModel).Result; + IActionResult result = this._roleController.Create(createTechnologyWebModel).Result; Assert.IsInstanceOf(result); @@ -103,10 +103,10 @@ namespace DevHive.Web.Tests Name = NAME }; - this.RoleServiceMock.Setup(p => p.GetRoleById(It.IsAny())).Returns(Task.FromResult(roleServiceModel)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(roleWebModel); + this._roleServiceMock.Setup(p => p.GetRoleById(It.IsAny())).Returns(Task.FromResult(roleServiceModel)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(roleWebModel); - IActionResult result = this.RoleController.GetById(id).Result; + IActionResult result = this._roleController.GetById(id).Result; Assert.IsInstanceOf(result); @@ -131,10 +131,10 @@ namespace DevHive.Web.Tests Name = NAME }; - this.RoleServiceMock.Setup(p => p.UpdateRole(It.IsAny())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateRoleServiceModel); + this._roleServiceMock.Setup(p => p.UpdateRole(It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateRoleServiceModel); - IActionResult result = this.RoleController.Update(id, updateRoleWebModel).Result; + IActionResult result = this._roleController.Update(id, updateRoleWebModel).Result; Assert.IsInstanceOf(result); } @@ -153,10 +153,10 @@ namespace DevHive.Web.Tests Name = NAME }; - this.RoleServiceMock.Setup(p => p.UpdateRole(It.IsAny())).Returns(Task.FromResult(false)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateRoleServiceModel); + this._roleServiceMock.Setup(p => p.UpdateRole(It.IsAny())).Returns(Task.FromResult(false)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateRoleServiceModel); - IActionResult result = this.RoleController.Update(id, updateRoleWebModel).Result; + IActionResult result = this._roleController.Update(id, updateRoleWebModel).Result; Assert.IsInstanceOf(result); BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult; @@ -172,9 +172,9 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.RoleServiceMock.Setup(p => p.DeleteRole(It.IsAny())).Returns(Task.FromResult(true)); + this._roleServiceMock.Setup(p => p.DeleteRole(It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.RoleController.Delete(id).Result; + IActionResult result = this._roleController.Delete(id).Result; Assert.IsInstanceOf(result); } @@ -185,9 +185,9 @@ namespace DevHive.Web.Tests string message = "Could not delete role!"; Guid id = Guid.NewGuid(); - this.RoleServiceMock.Setup(p => p.DeleteRole(It.IsAny())).Returns(Task.FromResult(false)); + this._roleServiceMock.Setup(p => p.DeleteRole(It.IsAny())).Returns(Task.FromResult(false)); - IActionResult result = this.RoleController.Delete(id).Result; + IActionResult result = this._roleController.Delete(id).Result; Assert.IsInstanceOf(result); diff --git a/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs b/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs index a00f1db..64b128c 100644 --- a/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs @@ -1,5 +1,4 @@ using AutoMapper; -using DevHive.Common.Models.Misc; using DevHive.Services.Interfaces; using DevHive.Services.Models.Technology; using DevHive.Web.Controllers; @@ -17,17 +16,17 @@ namespace DevHive.Web.Tests public class TechnologyControllerTests { const string NAME = "Gosho Trapov"; - private Mock TechnologyServiceMock { get; set; } - private Mock MapperMock { get; set; } - private TechnologyController TechnologyController { get; set; } + private Mock _technologyServiceMock; + private Mock _mapperMock; + private TechnologyController _technologyController; #region SetUp [SetUp] public void SetUp() { - this.TechnologyServiceMock = new Mock(); - this.MapperMock = new Mock(); - this.TechnologyController = new TechnologyController(this.TechnologyServiceMock.Object, this.MapperMock.Object); + this._technologyServiceMock = new Mock(); + this._mapperMock = new Mock(); + this._technologyController = new TechnologyController(this._technologyServiceMock.Object, this._mapperMock.Object); } #endregion @@ -45,10 +44,10 @@ namespace DevHive.Web.Tests }; Guid id = Guid.NewGuid(); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); - this.TechnologyServiceMock.Setup(p => p.CreateTechnology(It.IsAny())).Returns(Task.FromResult(id)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); + this._technologyServiceMock.Setup(p => p.CreateTechnology(It.IsAny())).Returns(Task.FromResult(id)); - IActionResult result = this.TechnologyController.Create(createTechnologyWebModel).Result; + IActionResult result = this._technologyController.Create(createTechnologyWebModel).Result; Assert.IsInstanceOf(result); @@ -77,10 +76,10 @@ namespace DevHive.Web.Tests Guid id = Guid.Empty; string errorMessage = $"Could not create technology {NAME}"; - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); - this.TechnologyServiceMock.Setup(p => p.CreateTechnology(It.IsAny())).Returns(Task.FromResult(id)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); + this._technologyServiceMock.Setup(p => p.CreateTechnology(It.IsAny())).Returns(Task.FromResult(id)); - IActionResult result = this.TechnologyController.Create(createTechnologyWebModel).Result; + IActionResult result = this._technologyController.Create(createTechnologyWebModel).Result; Assert.IsInstanceOf(result); @@ -106,10 +105,10 @@ namespace DevHive.Web.Tests Name = NAME }; - this.TechnologyServiceMock.Setup(p => p.GetTechnologyById(It.IsAny())).Returns(Task.FromResult(readTechnologyServiceModel)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readTechnologyWebModel); + this._technologyServiceMock.Setup(p => p.GetTechnologyById(It.IsAny())).Returns(Task.FromResult(readTechnologyServiceModel)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readTechnologyWebModel); - IActionResult result = this.TechnologyController.GetById(id).Result; + IActionResult result = this._technologyController.GetById(id).Result; Assert.IsInstanceOf(result); @@ -134,10 +133,10 @@ namespace DevHive.Web.Tests Name = NAME }; - this.TechnologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateTechnologyServiceModel); + this._technologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateTechnologyServiceModel); - IActionResult result = this.TechnologyController.Update(id, updateTechnologyWebModel).Result; + IActionResult result = this._technologyController.Update(id, updateTechnologyWebModel).Result; Assert.IsInstanceOf(result); } @@ -156,10 +155,10 @@ namespace DevHive.Web.Tests Name = NAME }; - this.TechnologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny())).Returns(Task.FromResult(false)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateTechnologyServiceModel); + this._technologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny())).Returns(Task.FromResult(false)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateTechnologyServiceModel); - IActionResult result = this.TechnologyController.Update(id, updateTechnologyWebModel).Result; + IActionResult result = this._technologyController.Update(id, updateTechnologyWebModel).Result; Assert.IsInstanceOf(result); BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult; @@ -175,9 +174,9 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.TechnologyServiceMock.Setup(p => p.DeleteTechnology(It.IsAny())).Returns(Task.FromResult(true)); + this._technologyServiceMock.Setup(p => p.DeleteTechnology(It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.TechnologyController.Delete(id).Result; + IActionResult result = this._technologyController.Delete(id).Result; Assert.IsInstanceOf(result); } @@ -188,9 +187,9 @@ namespace DevHive.Web.Tests string message = "Could not delete Technology"; Guid id = Guid.NewGuid(); - this.TechnologyServiceMock.Setup(p => p.DeleteTechnology(It.IsAny())).Returns(Task.FromResult(false)); + this._technologyServiceMock.Setup(p => p.DeleteTechnology(It.IsAny())).Returns(Task.FromResult(false)); - IActionResult result = this.TechnologyController.Delete(id).Result; + IActionResult result = this._technologyController.Delete(id).Result; Assert.IsInstanceOf(result); diff --git a/src/Web/DevHive.Web.Tests/UserController.Tests.cs b/src/Web/DevHive.Web.Tests/UserController.Tests.cs index ee08d88..89e5fc9 100644 --- a/src/Web/DevHive.Web.Tests/UserController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/UserController.Tests.cs @@ -17,18 +17,18 @@ namespace DevHive.Web.Tests public class UserControllerTests { const string USERNAME = "Gosho Trapov"; - private Mock UserServiceMock { get; set; } - private Mock MapperMock { get; set; } - private Mock JwtServiceMock { get; set; } - private UserController UserController { get; set; } + private Mock _userServiceMock; + private Mock _mapperMock; + private Mock _jwtServiceMock; + private UserController _userController; [SetUp] public void SetUp() { - this.UserServiceMock = new Mock(); - this.MapperMock = new Mock(); - this.JwtServiceMock = new Mock(); - this.UserController = new UserController(this.UserServiceMock.Object, this.MapperMock.Object, this.JwtServiceMock.Object); + this._userServiceMock = new Mock(); + this._mapperMock = new Mock(); + this._jwtServiceMock = new Mock(); + this._userController = new UserController(this._userServiceMock.Object, this._mapperMock.Object, this._jwtServiceMock.Object); } #region Create @@ -47,11 +47,11 @@ namespace DevHive.Web.Tests TokenModel tokenModel = new(token); TokenWebModel tokenWebModel = new(token); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(loginServiceModel); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(tokenWebModel); - this.UserServiceMock.Setup(p => p.LoginUser(It.IsAny())).Returns(Task.FromResult(tokenModel)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(loginServiceModel); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(tokenWebModel); + this._userServiceMock.Setup(p => p.LoginUser(It.IsAny())).Returns(Task.FromResult(tokenModel)); - IActionResult result = this.UserController.Login(loginWebModel).Result; + IActionResult result = this._userController.Login(loginWebModel).Result; Assert.IsInstanceOf(result); @@ -75,11 +75,11 @@ namespace DevHive.Web.Tests TokenModel tokenModel = new(token); TokenWebModel tokenWebModel = new(token); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(registerServiceModel); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(tokenWebModel); - this.UserServiceMock.Setup(p => p.RegisterUser(It.IsAny())).Returns(Task.FromResult(tokenModel)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(registerServiceModel); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(tokenWebModel); + this._userServiceMock.Setup(p => p.RegisterUser(It.IsAny())).Returns(Task.FromResult(tokenModel)); - IActionResult result = this.UserController.Register(registerWebModel).Result; + IActionResult result = this._userController.Register(registerWebModel).Result; Assert.IsInstanceOf(result); @@ -105,11 +105,11 @@ namespace DevHive.Web.Tests UserName = USERNAME }; - this.UserServiceMock.Setup(p => p.GetUserById(It.IsAny())).Returns(Task.FromResult(userServiceModel)); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(userWebModel); + this._userServiceMock.Setup(p => p.GetUserById(It.IsAny())).Returns(Task.FromResult(userServiceModel)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(userWebModel); - IActionResult result = this.UserController.GetById(id, null).Result; + IActionResult result = this._userController.GetById(id, null).Result; Assert.IsInstanceOf(result); @@ -122,9 +122,9 @@ namespace DevHive.Web.Tests [Test] public void GetById_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized() { - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(false); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(false); - IActionResult result = this.UserController.GetById(Guid.NewGuid(), null).Result; + IActionResult result = this._userController.GetById(Guid.NewGuid(), null).Result; Assert.IsInstanceOf(result); } @@ -141,10 +141,10 @@ namespace DevHive.Web.Tests UserName = USERNAME }; - this.UserServiceMock.Setup(p => p.GetUserByUsername(It.IsAny())).Returns(Task.FromResult(userServiceModel)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(userWebModel); + this._userServiceMock.Setup(p => p.GetUserByUsername(It.IsAny())).Returns(Task.FromResult(userServiceModel)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(userWebModel); - IActionResult result = this.UserController.GetUser(null).Result; + IActionResult result = this._userController.GetUser(null).Result; Assert.IsInstanceOf(result); @@ -173,11 +173,11 @@ namespace DevHive.Web.Tests UserName = USERNAME }; - this.UserServiceMock.Setup(p => p.UpdateUser(It.IsAny())).Returns(Task.FromResult(userServiceModel)); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateUserServiceModel); + this._userServiceMock.Setup(p => p.UpdateUser(It.IsAny())).Returns(Task.FromResult(userServiceModel)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateUserServiceModel); - IActionResult result = this.UserController.Update(id, updateUserWebModel, null).Result; + IActionResult result = this._userController.Update(id, updateUserWebModel, null).Result; Assert.IsInstanceOf(result); } @@ -189,10 +189,10 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.UserServiceMock.Setup(p => p.DeleteUser(It.IsAny())).Returns(Task.FromResult(true)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._userServiceMock.Setup(p => p.DeleteUser(It.IsAny())).Returns(Task.FromResult(true)); - IActionResult result = this.UserController.Delete(id, null).Result; + IActionResult result = this._userController.Delete(id, null).Result; Assert.IsInstanceOf(result); } @@ -203,10 +203,10 @@ namespace DevHive.Web.Tests string message = "Could not delete User"; Guid id = Guid.NewGuid(); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.UserServiceMock.Setup(p => p.DeleteUser(It.IsAny())).Returns(Task.FromResult(false)); + this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); + this._userServiceMock.Setup(p => p.DeleteUser(It.IsAny())).Returns(Task.FromResult(false)); - IActionResult result = this.UserController.Delete(id, null).Result; + IActionResult result = this._userController.Delete(id, null).Result; Assert.IsInstanceOf(result); -- cgit v1.2.3 From 8adb24d535c54de558cd1278d5e98632bed755e3 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 14 Mar 2021 11:03:25 +0200 Subject: Made properties into variables in Service layer tests --- .../DevHive.Services.Tests/CommentService.Tests.cs | 94 ++++++++++----------- .../LanguageService.Tests.cs | 88 +++++++++---------- .../DevHive.Services.Tests/PostService.Tests.cs | 98 +++++++++++----------- .../DevHive.Services.Tests/RoleService.Tests.cs | 76 ++++++++--------- .../TechnologyServices.Tests.cs | 88 +++++++++---------- 5 files changed, 222 insertions(+), 222 deletions(-) diff --git a/src/Services/DevHive.Services.Tests/CommentService.Tests.cs b/src/Services/DevHive.Services.Tests/CommentService.Tests.cs index 2d3c97a..a73cf90 100644 --- a/src/Services/DevHive.Services.Tests/CommentService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/CommentService.Tests.cs @@ -14,21 +14,21 @@ namespace DevHive.Services.Tests public class CommentServiceTests { private const string MESSAGE = "Gosho Trapov"; - private Mock UserRepositoryMock { get; set; } - private Mock PostRepositoryMock { get; set; } - private Mock CommentRepositoryMock { get; set; } - private Mock MapperMock { get; set; } - private CommentService CommentService { get; set; } + private Mock _userRepositoryMock; + private Mock _postRepositoryMock; + private Mock _commentRepositoryMock; + private Mock _mapperMock; + private CommentService _commentService; #region Setup [SetUp] public void Setup() { - this.UserRepositoryMock = new Mock(); - this.PostRepositoryMock = new Mock(); - this.CommentRepositoryMock = new Mock(); - this.MapperMock = new Mock(); - this.CommentService = new CommentService(this.UserRepositoryMock.Object, this.PostRepositoryMock.Object, this.CommentRepositoryMock.Object, this.MapperMock.Object); + this._userRepositoryMock = new Mock(); + this._postRepositoryMock = new Mock(); + this._commentRepositoryMock = new Mock(); + this._mapperMock = new Mock(); + this._commentService = new CommentService(this._userRepositoryMock.Object, this._postRepositoryMock.Object, this._commentRepositoryMock.Object, this._mapperMock.Object); } #endregion @@ -48,13 +48,13 @@ namespace DevHive.Services.Tests Id = id, }; - _ = this.CommentRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); - _ = this.CommentRepositoryMock.Setup(p => p.GetCommentByIssuerAndTimeCreatedAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(comment)); - _ = this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - _ = this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(creator)); - _ = this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); + _ = this._commentRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); + _ = this._commentRepositoryMock.Setup(p => p.GetCommentByIssuerAndTimeCreatedAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(comment)); + _ = this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); + _ = this._userRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(creator)); + _ = this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); - Guid result = await this.CommentService.AddComment(createCommentServiceModel); + Guid result = await this._commentService.AddComment(createCommentServiceModel); Assert.AreEqual(id, result); } @@ -71,11 +71,11 @@ namespace DevHive.Services.Tests Message = MESSAGE, }; - _ = this.CommentRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); - _ = this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - _ = this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); + _ = this._commentRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); + _ = this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); + _ = this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); - Guid result = await this.CommentService.AddComment(createCommentServiceModel); + Guid result = await this._commentService.AddComment(createCommentServiceModel); Assert.IsTrue(result == Guid.Empty); } @@ -90,7 +90,7 @@ namespace DevHive.Services.Tests Message = MESSAGE }; - Exception ex = Assert.ThrowsAsync(() => this.CommentService.AddComment(createCommentServiceModel), "AddComment does not throw excpeion when the post does not exist"); + Exception ex = Assert.ThrowsAsync(() => this._commentService.AddComment(createCommentServiceModel), "AddComment does not throw excpeion when the post does not exist"); Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorecct exception message"); } @@ -116,11 +116,11 @@ namespace DevHive.Services.Tests Id = creatorId, }; - _ = this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); - _ = this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - _ = this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(commentServiceModel); + _ = this._commentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); + _ = this._userRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); + _ = this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(commentServiceModel); - ReadCommentServiceModel result = await this.CommentService.GetCommentById(Guid.NewGuid()); + ReadCommentServiceModel result = await this._commentService.GetCommentById(Guid.NewGuid()); Assert.AreEqual(MESSAGE, result.Message); } @@ -137,9 +137,9 @@ namespace DevHive.Services.Tests Creator = creator }; - _ = this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); + _ = this._commentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); - Exception ex = Assert.ThrowsAsync(() => this.CommentService.GetCommentById(Guid.NewGuid()), "GetCommentById does not throw exception when the user does not exist"); + Exception ex = Assert.ThrowsAsync(() => this._commentService.GetCommentById(Guid.NewGuid()), "GetCommentById does not throw exception when the user does not exist"); Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message); } @@ -154,10 +154,10 @@ namespace DevHive.Services.Tests Id = creatorId, }; - _ = this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); - _ = this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); + _ = this._commentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + _ = this._userRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - Exception ex = Assert.ThrowsAsync(() => this.CommentService.GetCommentById(Guid.NewGuid())); + Exception ex = Assert.ThrowsAsync(() => this._commentService.GetCommentById(Guid.NewGuid())); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -179,12 +179,12 @@ namespace DevHive.Services.Tests NewMessage = MESSAGE }; - _ = this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); - _ = this.CommentRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - _ = this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); - _ = this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); + _ = this._commentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); + _ = this._commentRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + _ = this._commentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); + _ = this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); - Guid result = await this.CommentService.UpdateComment(updateCommentServiceModel); + Guid result = await this._commentService.UpdateComment(updateCommentServiceModel); Assert.AreEqual(updateCommentServiceModel.CommentId, result); } @@ -202,11 +202,11 @@ namespace DevHive.Services.Tests NewMessage = MESSAGE }; - _ = this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); - _ = this.CommentRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - _ = this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); + _ = this._commentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); + _ = this._commentRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + _ = this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); - Guid result = await this.CommentService.UpdateComment(updateCommentServiceModel); + Guid result = await this._commentService.UpdateComment(updateCommentServiceModel); Assert.AreEqual(Guid.Empty, result); } @@ -219,9 +219,9 @@ namespace DevHive.Services.Tests { }; - _ = this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(false)); + _ = this._commentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(false)); - Exception ex = Assert.ThrowsAsync(() => this.CommentService.UpdateComment(updateCommentServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._commentService.UpdateComment(updateCommentServiceModel)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -236,11 +236,11 @@ namespace DevHive.Services.Tests Guid id = new(); Comment comment = new(); - _ = this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); - _ = this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); - _ = this.CommentRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); + _ = this._commentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); + _ = this._commentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); + _ = this._commentRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); - bool result = await this.CommentService.DeleteComment(id); + bool result = await this._commentService.DeleteComment(id); Assert.AreEqual(shouldPass, result); } @@ -251,9 +251,9 @@ namespace DevHive.Services.Tests string exceptionMessage = "Comment does not exist!"; Guid id = new(); - _ = this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(false)); + _ = this._commentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(false)); - Exception ex = Assert.ThrowsAsync(() => this.CommentService.DeleteComment(id)); + Exception ex = Assert.ThrowsAsync(() => this._commentService.DeleteComment(id)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } diff --git a/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs b/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs index e97ff31..0b5f198 100644 --- a/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs @@ -14,17 +14,17 @@ namespace DevHive.Services.Tests [TestFixture] public class LanguageServiceTests { - private Mock LanguageRepositoryMock { get; set; } - private Mock MapperMock { get; set; } - private LanguageService LanguageService { get; set; } + private Mock _languageRepositoryMock; + private Mock _mapperMock; + private LanguageService _languageService; #region SetUps [SetUp] public void SetUp() { - this.LanguageRepositoryMock = new Mock(); - this.MapperMock = new Mock(); - this.LanguageService = new LanguageService(this.LanguageRepositoryMock.Object, this.MapperMock.Object); + this._languageRepositoryMock = new Mock(); + this._mapperMock = new Mock(); + this._languageService = new LanguageService(this._languageRepositoryMock.Object, this._mapperMock.Object); } #endregion @@ -44,12 +44,12 @@ namespace DevHive.Services.Tests Id = id }; - this.LanguageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - this.LanguageRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.LanguageRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny())).Returns(Task.FromResult(language)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(language); + this._languageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._languageRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._languageRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny())).Returns(Task.FromResult(language)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(language); - Guid result = await this.LanguageService.CreateLanguage(createLanguageServiceModel); + Guid result = await this._languageService.CreateLanguage(createLanguageServiceModel); Assert.AreEqual(id, result); } @@ -68,11 +68,11 @@ namespace DevHive.Services.Tests Name = languageName }; - this.LanguageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - this.LanguageRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(language); + this._languageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._languageRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(language); - Guid result = await this.LanguageService.CreateLanguage(createLanguageServiceModel); + Guid result = await this._languageService.CreateLanguage(createLanguageServiceModel); Assert.IsTrue(result == Guid.Empty); @@ -93,9 +93,9 @@ namespace DevHive.Services.Tests Name = languageName }; - this.LanguageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._languageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - Exception ex = Assert.ThrowsAsync(() => this.LanguageService.CreateLanguage(createLanguageServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._languageService.CreateLanguage(createLanguageServiceModel)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -116,10 +116,10 @@ namespace DevHive.Services.Tests Name = name }; - this.LanguageRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(language)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readLanguageServiceModel); + this._languageRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(language)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readLanguageServiceModel); - ReadLanguageServiceModel result = await this.LanguageService.GetLanguageById(id); + ReadLanguageServiceModel result = await this._languageService.GetLanguageById(id); Assert.AreEqual(name, result.Name); } @@ -129,9 +129,9 @@ namespace DevHive.Services.Tests { string exceptionMessage = "The language does not exist"; Guid id = Guid.NewGuid(); - this.LanguageRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + this._languageRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); - Exception ex = Assert.ThrowsAsync(() => this.LanguageService.GetLanguageById(id)); + Exception ex = Assert.ThrowsAsync(() => this._languageService.GetLanguageById(id)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -147,10 +147,10 @@ namespace DevHive.Services.Tests languges.Add(firstLanguage); languges.Add(secondLanguage); - this.LanguageRepositoryMock.Setup(p => p.GetLanguages()).Returns(new HashSet()); - this.MapperMock.Setup(p => p.Map>(It.IsAny>())).Returns(languges); + this._languageRepositoryMock.Setup(p => p.GetLanguages()).Returns(new HashSet()); + this._mapperMock.Setup(p => p.Map>(It.IsAny>())).Returns(languges); - HashSet result = this.LanguageService.GetLanguages(); + HashSet result = this._languageService.GetLanguages(); Assert.GreaterOrEqual(2, result.Count, "GetLanguages does not return all languages"); } @@ -158,10 +158,10 @@ namespace DevHive.Services.Tests [Test] public void GetLanguages_ReturnsEmptyHashSet_IfNoLanguagesExist() { - this.LanguageRepositoryMock.Setup(p => p.GetLanguages()).Returns(new HashSet()); - this.MapperMock.Setup(p => p.Map>(It.IsAny>())).Returns(new HashSet()); + this._languageRepositoryMock.Setup(p => p.GetLanguages()).Returns(new HashSet()); + this._mapperMock.Setup(p => p.Map>(It.IsAny>())).Returns(new HashSet()); - HashSet result = this.LanguageService.GetLanguages(); + HashSet result = this._languageService.GetLanguages(); Assert.IsEmpty(result, "GetLanguages does not return empty string when no languages exist"); } @@ -185,12 +185,12 @@ namespace DevHive.Services.Tests Name = name, }; - this.LanguageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.LanguageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - this.LanguageRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(shouldPass)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(language); + this._languageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._languageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._languageRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(shouldPass)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(language); - bool result = await this.LanguageService.UpdateLanguage(updateLanguageServiceModel); + bool result = await this._languageService.UpdateLanguage(updateLanguageServiceModel); Assert.AreEqual(shouldPass, result); } @@ -203,9 +203,9 @@ namespace DevHive.Services.Tests { }; - this.LanguageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._languageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - Exception ex = Assert.ThrowsAsync(() => this.LanguageService.UpdateLanguage(updateTechnologyServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._languageService.UpdateLanguage(updateTechnologyServiceModel)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -218,10 +218,10 @@ namespace DevHive.Services.Tests { }; - this.LanguageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.LanguageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._languageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._languageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - Exception ex = Assert.ThrowsAsync(() => this.LanguageService.UpdateLanguage(updateTechnologyServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._languageService.UpdateLanguage(updateTechnologyServiceModel)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -236,11 +236,11 @@ namespace DevHive.Services.Tests Guid id = Guid.NewGuid(); Language language = new Language(); - this.LanguageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.LanguageRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(language)); - this.LanguageRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); + this._languageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._languageRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(language)); + this._languageRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); - bool result = await this.LanguageService.DeleteLanguage(id); + bool result = await this._languageService.DeleteLanguage(id); Assert.AreEqual(shouldPass, result); } @@ -251,9 +251,9 @@ namespace DevHive.Services.Tests string exceptionMessage = "Language does not exist!"; Guid id = Guid.NewGuid(); - this.LanguageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._languageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - Exception ex = Assert.ThrowsAsync(() => this.LanguageService.DeleteLanguage(id)); + Exception ex = Assert.ThrowsAsync(() => this._languageService.DeleteLanguage(id)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } diff --git a/src/Services/DevHive.Services.Tests/PostService.Tests.cs b/src/Services/DevHive.Services.Tests/PostService.Tests.cs index 799824b..e51f250 100644 --- a/src/Services/DevHive.Services.Tests/PostService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/PostService.Tests.cs @@ -17,23 +17,23 @@ namespace DevHive.Services.Tests public class PostServiceTests { private const string MESSAGE = "Gosho Trapov"; - private Mock CloudServiceMock { get; set; } - private Mock PostRepositoryMock { get; set; } - private Mock CommentRepositoryMock { get; set; } - private Mock UserRepositoryMock { get; set; } - private Mock MapperMock { get; set; } - private PostService PostService { get; set; } + private Mock _cloudServiceMock; + private Mock _postRepositoryMock; + private Mock _commentRepositoryMock; + private Mock _userRepositoryMock; + private Mock _mapperMock; + private PostService _postService; #region SetUps [SetUp] public void Setup() { - this.PostRepositoryMock = new Mock(); - this.CloudServiceMock = new Mock(); - this.UserRepositoryMock = new Mock(); - this.CommentRepositoryMock = new Mock(); - this.MapperMock = new Mock(); - this.PostService = new PostService(this.CloudServiceMock.Object, this.UserRepositoryMock.Object, this.PostRepositoryMock.Object, this.CommentRepositoryMock.Object, this.MapperMock.Object); + this._postRepositoryMock = new Mock(); + this._cloudServiceMock = new Mock(); + this._userRepositoryMock = new Mock(); + this._commentRepositoryMock = new Mock(); + this._mapperMock = new Mock(); + this._postService = new PostService(this._cloudServiceMock.Object, this._userRepositoryMock.Object, this._postRepositoryMock.Object, this._commentRepositoryMock.Object, this._mapperMock.Object); } #endregion @@ -53,13 +53,13 @@ namespace DevHive.Services.Tests Id = postId, }; - this.PostRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.PostRepositoryMock.Setup(p => p.GetPostByCreatorAndTimeCreatedAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(post)); - this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(creator)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(post); + this._postRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._postRepositoryMock.Setup(p => p.GetPostByCreatorAndTimeCreatedAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(post)); + this._userRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._userRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(creator)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(post); - Guid result = await this.PostService.CreatePost(createPostServiceModel); + Guid result = await this._postService.CreatePost(createPostServiceModel); Assert.AreEqual(postId, result, "CreatePost does not return the correct id"); } @@ -76,11 +76,11 @@ namespace DevHive.Services.Tests Message = MESSAGE, }; - this.PostRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); - this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(post); + this._postRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._userRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(post); - Guid result = await this.PostService.CreatePost(createPostServiceModel); + Guid result = await this._postService.CreatePost(createPostServiceModel); Assert.AreEqual(Guid.Empty, result, "CreatePost does not return empty id"); } @@ -93,7 +93,7 @@ namespace DevHive.Services.Tests { }; - Exception ex = Assert.ThrowsAsync(() => this.PostService.CreatePost(createPostServiceModel), "CreatePost does not throw excpeion when the user does not exist"); + Exception ex = Assert.ThrowsAsync(() => this._postService.CreatePost(createPostServiceModel), "CreatePost does not throw excpeion when the user does not exist"); Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Excapetion message is not correct"); } @@ -119,11 +119,11 @@ namespace DevHive.Services.Tests Id = creatorId, }; - this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); - this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readPostServiceModel); + this._postRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); + this._userRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readPostServiceModel); - ReadPostServiceModel result = await this.PostService.GetPostById(Guid.NewGuid()); + ReadPostServiceModel result = await this._postService.GetPostById(Guid.NewGuid()); Assert.AreEqual(MESSAGE, result.Message); } @@ -140,9 +140,9 @@ namespace DevHive.Services.Tests Creator = creator }; - this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); + this._postRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); - Exception ex = Assert.ThrowsAsync(() => this.PostService.GetPostById(Guid.NewGuid()), "GetPostById does not throw exception when the user does not exist"); + Exception ex = Assert.ThrowsAsync(() => this._postService.GetPostById(Guid.NewGuid()), "GetPostById does not throw exception when the user does not exist"); Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message); } @@ -157,10 +157,10 @@ namespace DevHive.Services.Tests Id = creatorId, }; - this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); - this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); + this._postRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + this._userRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - Exception ex = Assert.ThrowsAsync(() => this.PostService.GetPostById(Guid.NewGuid())); + Exception ex = Assert.ThrowsAsync(() => this._postService.GetPostById(Guid.NewGuid())); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -183,12 +183,12 @@ namespace DevHive.Services.Tests Files = new List() }; - this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - this.PostRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(post); + this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); + this._postRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._postRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(post); - Guid result = await this.PostService.UpdatePost(updatePostServiceModel); + Guid result = await this._postService.UpdatePost(updatePostServiceModel); Assert.AreEqual(updatePostServiceModel.PostId, result); } @@ -207,11 +207,11 @@ namespace DevHive.Services.Tests Files = new List() }; - this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - this.PostRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(post); + this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); + this._postRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(post); - Guid result = await this.PostService.UpdatePost(updatePostServiceModel); + Guid result = await this._postService.UpdatePost(updatePostServiceModel); Assert.AreEqual(Guid.Empty, result); } @@ -224,9 +224,9 @@ namespace DevHive.Services.Tests { }; - this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(false)); + this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(false)); - Exception ex = Assert.ThrowsAsync(() => this.PostService.UpdatePost(updatePostServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._postService.UpdatePost(updatePostServiceModel)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -241,11 +241,11 @@ namespace DevHive.Services.Tests Guid id = Guid.NewGuid(); Post post = new Post(); - this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); - this.PostRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); + this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); + this._postRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); + this._postRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); - bool result = await this.PostService.DeletePost(id); + bool result = await this._postService.DeletePost(id); Assert.AreEqual(shouldPass, result); } @@ -256,9 +256,9 @@ namespace DevHive.Services.Tests string exceptionMessage = "Post does not exist!"; Guid id = Guid.NewGuid(); - this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(false)); + this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(false)); - Exception ex = Assert.ThrowsAsync(() => this.PostService.DeletePost(id)); + Exception ex = Assert.ThrowsAsync(() => this._postService.DeletePost(id)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } diff --git a/src/Services/DevHive.Services.Tests/RoleService.Tests.cs b/src/Services/DevHive.Services.Tests/RoleService.Tests.cs index 2577679..6d5a333 100644 --- a/src/Services/DevHive.Services.Tests/RoleService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/RoleService.Tests.cs @@ -13,17 +13,17 @@ namespace DevHive.Services.Tests [TestFixture] public class RoleServiceTests { - private Mock RoleRepositoryMock { get; set; } - private Mock MapperMock { get; set; } - private RoleService RoleService { get; set; } + private Mock _roleRepositoryMock; + private Mock _mapperMock; + private RoleService _roleService; #region SetUps [SetUp] public void Setup() { - this.RoleRepositoryMock = new Mock(); - this.MapperMock = new Mock(); - this.RoleService = new RoleService(this.RoleRepositoryMock.Object, this.MapperMock.Object); + this._roleRepositoryMock = new Mock(); + this._mapperMock = new Mock(); + this._roleService = new RoleService(this._roleRepositoryMock.Object, this._mapperMock.Object); } #endregion @@ -43,12 +43,12 @@ namespace DevHive.Services.Tests Id = id }; - this.RoleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(false)); - this.RoleRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.RoleRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny())).Returns(Task.FromResult(role)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(role); + this._roleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(false)); + this._roleRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._roleRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny())).Returns(Task.FromResult(role)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(role); - Guid result = await this.RoleService.CreateRole(createRoleServiceModel); + Guid result = await this._roleService.CreateRole(createRoleServiceModel); Assert.AreEqual(id, result); } @@ -67,11 +67,11 @@ namespace DevHive.Services.Tests Name = roleName }; - this.RoleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(false)); - this.RoleRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(role); + this._roleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(false)); + this._roleRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(role); - Guid result = await this.RoleService.CreateRole(createRoleServiceModel); + Guid result = await this._roleService.CreateRole(createRoleServiceModel); Assert.IsTrue(result == Guid.Empty); } @@ -87,9 +87,9 @@ namespace DevHive.Services.Tests Name = roleName }; - this.RoleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(true)); + this._roleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(true)); - Exception ex = Assert.ThrowsAsync(() => this.RoleService.CreateRole(createRoleServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._roleService.CreateRole(createRoleServiceModel)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -110,10 +110,10 @@ namespace DevHive.Services.Tests Name = name }; - this.RoleRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(role)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(roleServiceModel); + this._roleRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(role)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(roleServiceModel); - RoleServiceModel result = await this.RoleService.GetRoleById(id); + RoleServiceModel result = await this._roleService.GetRoleById(id); Assert.AreEqual(name, result.Name); } @@ -123,9 +123,9 @@ namespace DevHive.Services.Tests { string exceptionMessage = "Role does not exist!"; Guid id = Guid.NewGuid(); - this.RoleRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + this._roleRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); - Exception ex = Assert.ThrowsAsync(() => this.RoleService.GetRoleById(id)); + Exception ex = Assert.ThrowsAsync(() => this._roleService.GetRoleById(id)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -149,12 +149,12 @@ namespace DevHive.Services.Tests Name = name, }; - this.RoleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(true)); - this.RoleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(false)); - this.RoleRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(shouldPass)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(role); + this._roleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(true)); + this._roleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(false)); + this._roleRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(shouldPass)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(role); - bool result = await this.RoleService.UpdateRole(updateRoleServiceModel); + bool result = await this._roleService.UpdateRole(updateRoleServiceModel); Assert.AreEqual(shouldPass, result); } @@ -167,9 +167,9 @@ namespace DevHive.Services.Tests { }; - this.RoleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(false)); + this._roleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(false)); - Exception ex = Assert.ThrowsAsync(() => this.RoleService.UpdateRole(updateRoleServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._roleService.UpdateRole(updateRoleServiceModel)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -182,10 +182,10 @@ namespace DevHive.Services.Tests { }; - this.RoleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(true)); - this.RoleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(true)); + this._roleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(true)); + this._roleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(true)); - Exception ex = Assert.ThrowsAsync(() => this.RoleService.UpdateRole(updateRoleServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._roleService.UpdateRole(updateRoleServiceModel)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -200,11 +200,11 @@ namespace DevHive.Services.Tests Guid id = Guid.NewGuid(); Role role = new Role(); - this.RoleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(true)); - this.RoleRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(role)); - this.RoleRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); + this._roleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(true)); + this._roleRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(role)); + this._roleRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); - bool result = await this.RoleService.DeleteRole(id); + bool result = await this._roleService.DeleteRole(id); Assert.AreEqual(shouldPass, result); } @@ -215,9 +215,9 @@ namespace DevHive.Services.Tests string exceptionMessage = "Role does not exist!"; Guid id = Guid.NewGuid(); - this.RoleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(false)); + this._roleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(false)); - Exception ex = Assert.ThrowsAsync(() => this.RoleService.DeleteRole(id)); + Exception ex = Assert.ThrowsAsync(() => this._roleService.DeleteRole(id)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } diff --git a/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs b/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs index 5f56f19..8cc78f1 100644 --- a/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs +++ b/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs @@ -14,17 +14,17 @@ namespace DevHive.Services.Tests [TestFixture] public class TechnologyServicesTests { - private Mock TechnologyRepositoryMock { get; set; } - private Mock MapperMock { get; set; } - private TechnologyService TechnologyService { get; set; } + private Mock _technologyRepositoryMock; + private Mock _mapperMock; + private TechnologyService _technologyService; #region SetUps [SetUp] public void Setup() { - this.TechnologyRepositoryMock = new Mock(); - this.MapperMock = new Mock(); - this.TechnologyService = new TechnologyService(this.TechnologyRepositoryMock.Object, this.MapperMock.Object); + this._technologyRepositoryMock = new Mock(); + this._mapperMock = new Mock(); + this._technologyService = new TechnologyService(this._technologyRepositoryMock.Object, this._mapperMock.Object); } #endregion @@ -44,12 +44,12 @@ namespace DevHive.Services.Tests Id = id }; - this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - this.TechnologyRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.TechnologyRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny())).Returns(Task.FromResult(technology)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(technology); + this._technologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._technologyRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._technologyRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny())).Returns(Task.FromResult(technology)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(technology); - Guid result = await this.TechnologyService.CreateTechnology(createTechnologyServiceModel); + Guid result = await this._technologyService.CreateTechnology(createTechnologyServiceModel); Assert.AreEqual(id, result); } @@ -68,11 +68,11 @@ namespace DevHive.Services.Tests Name = technologyName }; - this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - this.TechnologyRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(technology); + this._technologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._technologyRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(technology); - Guid result = await this.TechnologyService.CreateTechnology(createTechnologyServiceModel); + Guid result = await this._technologyService.CreateTechnology(createTechnologyServiceModel); Assert.IsTrue(result == Guid.Empty); } @@ -88,9 +88,9 @@ namespace DevHive.Services.Tests Name = technologyName }; - this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._technologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - Exception ex = Assert.ThrowsAsync(() => this.TechnologyService.CreateTechnology(createTechnologyServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._technologyService.CreateTechnology(createTechnologyServiceModel)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -111,10 +111,10 @@ namespace DevHive.Services.Tests Name = name }; - this.TechnologyRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(technology)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readTechnologyServiceModel); + this._technologyRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(technology)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readTechnologyServiceModel); - ReadTechnologyServiceModel result = await this.TechnologyService.GetTechnologyById(id); + ReadTechnologyServiceModel result = await this._technologyService.GetTechnologyById(id); Assert.AreEqual(name, result.Name); } @@ -124,9 +124,9 @@ namespace DevHive.Services.Tests { string exceptionMessage = "The technology does not exist"; Guid id = Guid.NewGuid(); - this.TechnologyRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + this._technologyRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); - Exception ex = Assert.ThrowsAsync(() => this.TechnologyService.GetTechnologyById(id)); + Exception ex = Assert.ThrowsAsync(() => this._technologyService.GetTechnologyById(id)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -142,10 +142,10 @@ namespace DevHive.Services.Tests technologies.Add(firstTechnology); technologies.Add(secondTechnology); - this.TechnologyRepositoryMock.Setup(p => p.GetTechnologies()).Returns(new HashSet()); - this.MapperMock.Setup(p => p.Map>(It.IsAny>())).Returns(technologies); + this._technologyRepositoryMock.Setup(p => p.GetTechnologies()).Returns(new HashSet()); + this._mapperMock.Setup(p => p.Map>(It.IsAny>())).Returns(technologies); - HashSet result = this.TechnologyService.GetTechnologies(); + HashSet result = this._technologyService.GetTechnologies(); Assert.GreaterOrEqual(2, result.Count, "GetTechnologies does not return all technologies"); } @@ -153,10 +153,10 @@ namespace DevHive.Services.Tests [Test] public void GetLanguages_ReturnsEmptyHashSet_IfNoLanguagesExist() { - this.TechnologyRepositoryMock.Setup(p => p.GetTechnologies()).Returns(new HashSet()); - this.MapperMock.Setup(p => p.Map>(It.IsAny>())).Returns(new HashSet()); + this._technologyRepositoryMock.Setup(p => p.GetTechnologies()).Returns(new HashSet()); + this._mapperMock.Setup(p => p.Map>(It.IsAny>())).Returns(new HashSet()); - HashSet result = this.TechnologyService.GetTechnologies(); + HashSet result = this._technologyService.GetTechnologies(); Assert.IsEmpty(result, "GetTechnologies does not return empty string when no technologies exist"); } @@ -180,12 +180,12 @@ namespace DevHive.Services.Tests Name = name, }; - this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - this.TechnologyRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(shouldPass)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(technology); + this._technologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._technologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._technologyRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(shouldPass)); + this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(technology); - bool result = await this.TechnologyService.UpdateTechnology(updatetechnologyServiceModel); + bool result = await this._technologyService.UpdateTechnology(updatetechnologyServiceModel); Assert.AreEqual(shouldPass, result); } @@ -198,9 +198,9 @@ namespace DevHive.Services.Tests { }; - this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._technologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - Exception ex = Assert.ThrowsAsync(() => this.TechnologyService.UpdateTechnology(updateTechnologyServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._technologyService.UpdateTechnology(updateTechnologyServiceModel)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -213,10 +213,10 @@ namespace DevHive.Services.Tests { }; - this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._technologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._technologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - Exception ex = Assert.ThrowsAsync(() => this.TechnologyService.UpdateTechnology(updateTechnologyServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._technologyService.UpdateTechnology(updateTechnologyServiceModel)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -232,11 +232,11 @@ namespace DevHive.Services.Tests Guid id = Guid.NewGuid(); Technology technology = new Technology(); - this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.TechnologyRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(technology)); - this.TechnologyRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); + this._technologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._technologyRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(technology)); + this._technologyRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); - bool result = await this.TechnologyService.DeleteTechnology(id); + bool result = await this._technologyService.DeleteTechnology(id); Assert.AreEqual(shouldPass, result); } @@ -247,9 +247,9 @@ namespace DevHive.Services.Tests string exceptionMessage = "Technology does not exist!"; Guid id = Guid.NewGuid(); - this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._technologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - Exception ex = Assert.ThrowsAsync(() => this.TechnologyService.DeleteTechnology(id)); + Exception ex = Assert.ThrowsAsync(() => this._technologyService.DeleteTechnology(id)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } -- cgit v1.2.3 From 039909bd4d1a49773e6261c110cac4495f3a12fb Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 14 Mar 2021 11:07:04 +0200 Subject: Made properties into variables, fixed spacing and made protected members private, all in Data layer tests --- .../DevHive.Data.Tests/CommentRepository.Tests.cs | 24 +++++++-------- .../DevHive.Data.Tests/FeedRepository.Tests.cs | 15 +++++----- .../DevHive.Data.Tests/LenguageRepository.Tests.cs | 28 ++++++++--------- .../DevHive.Data.Tests/PostRepository.Tests.cs | 35 ++++++++++------------ .../TechnologyRepository.Tests.cs | 32 ++++++++++---------- 5 files changed, 63 insertions(+), 71 deletions(-) diff --git a/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs b/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs index 1fd8ad0..1e5390b 100644 --- a/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs @@ -11,10 +11,8 @@ namespace DevHive.Data.Tests public class CommentRepositoryTests { private const string COMMENT_MESSAGE = "Comment message"; - - protected DevHiveContext Context { get; set; } - - protected CommentRepository CommentRepository { get; set; } + private DevHiveContext _context; + private CommentRepository _commentRepository; #region Setups [SetUp] @@ -23,15 +21,15 @@ namespace DevHive.Data.Tests DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder() .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - this.Context = new DevHiveContext(optionsBuilder.Options); + this._context = new DevHiveContext(optionsBuilder.Options); - this.CommentRepository = new CommentRepository(this.Context); + this._commentRepository = new CommentRepository(this._context); } [TearDown] public void TearDown() { - _ = this.Context.Database.EnsureDeleted(); + _ = this._context.Database.EnsureDeleted(); } #endregion @@ -41,7 +39,7 @@ namespace DevHive.Data.Tests { Comment comment = await this.AddEntity(); - Comment resultComment = await this.CommentRepository.GetCommentByIssuerAndTimeCreatedAsync(comment.Creator.Id, comment.TimeCreated); + 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"); } @@ -51,7 +49,7 @@ namespace DevHive.Data.Tests { _ = await this.AddEntity(); - Comment resultComment = await this.CommentRepository.GetCommentByIssuerAndTimeCreatedAsync(Guid.Empty, DateTime.Now); + Comment resultComment = await this._commentRepository.GetCommentByIssuerAndTimeCreatedAsync(Guid.Empty, DateTime.Now); Assert.IsNull(resultComment, "GetCommentByIssuerAndTimeCreatedAsync does not return null when the comment does not exist"); } @@ -63,7 +61,7 @@ namespace DevHive.Data.Tests { Comment comment = await this.AddEntity(); - bool result = await this.CommentRepository.DoesCommentExist(comment.Id); + bool result = await this._commentRepository.DoesCommentExist(comment.Id); Assert.IsTrue(result, "DoesCommentExist does not return true whenm the Comment exists"); } @@ -71,7 +69,7 @@ namespace DevHive.Data.Tests [Test] public async Task DoesCommentExist_ReturnsFalse_WhenTheCommentDoesNotExist() { - bool result = await this.CommentRepository.DoesCommentExist(Guid.Empty); + bool result = await this._commentRepository.DoesCommentExist(Guid.Empty); Assert.IsFalse(result, "DoesCommentExist does not return false whenm the Comment" + " does not exist"); @@ -89,8 +87,8 @@ namespace DevHive.Data.Tests TimeCreated = DateTime.Now }; - _ = this.Context.Comments.Add(comment); - _ = await this.Context.SaveChangesAsync(); + _ = this._context.Comments.Add(comment); + _ = await this._context.SaveChangesAsync(); return comment; } diff --git a/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs b/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs index eb5bce0..24fcb51 100644 --- a/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs @@ -11,9 +11,8 @@ namespace DevHive.Data.Tests [TestFixture] public class FeedRepositoryTests { - protected DevHiveContext Context { get; set; } - - protected FeedRepository FeedRepository { get; set; } + private DevHiveContext _context; + private FeedRepository _feedRepository; #region Setups [SetUp] @@ -22,15 +21,15 @@ namespace DevHive.Data.Tests DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder() .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - this.Context = new DevHiveContext(optionsBuilder.Options); + this._context = new DevHiveContext(optionsBuilder.Options); - this.FeedRepository = new FeedRepository(this.Context); + this._feedRepository = new FeedRepository(this._context); } [TearDown] public void TearDown() { - _ = this.Context.Database.EnsureDeleted(); + _ = this._context.Database.EnsureDeleted(); } #endregion @@ -50,7 +49,7 @@ namespace DevHive.Data.Tests const int PAGE_NUMBER = 1; const int PAGE_SIZE = 10; - List resultList = await this.FeedRepository.GetFriendsPosts(friendsList, dateTime, PAGE_NUMBER, PAGE_SIZE); + List resultList = await this._feedRepository.GetFriendsPosts(friendsList, dateTime, PAGE_NUMBER, PAGE_SIZE); Assert.GreaterOrEqual(2, resultList.Count, "GetFriendsPosts does not return all correct posts"); } @@ -69,7 +68,7 @@ namespace DevHive.Data.Tests const int PAGE_NUMBER = 1; const int PAGE_SIZE = 10; - List resultList = await this.FeedRepository.GetFriendsPosts(friendsList, dateTime, PAGE_NUMBER, PAGE_SIZE); + List resultList = await this._feedRepository.GetFriendsPosts(friendsList, dateTime, PAGE_NUMBER, PAGE_SIZE); Assert.LessOrEqual(0, resultList.Count, "GetFriendsPosts does not return all correct posts"); } diff --git a/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs b/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs index 18d5959..b7bb2e3 100644 --- a/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs @@ -12,8 +12,8 @@ namespace DevHive.Data.Tests public class LenguageRepositoryTests { private const string LANGUAGE_NAME = "Language test name"; - protected DevHiveContext Context { get; set; } - protected LanguageRepository LanguageRepository { get; set; } + private DevHiveContext _context; + private LanguageRepository _languageRepository; #region Setups [SetUp] @@ -22,15 +22,15 @@ namespace DevHive.Data.Tests DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder() .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - this.Context = new DevHiveContext(optionsBuilder.Options); + this._context = new DevHiveContext(optionsBuilder.Options); - this.LanguageRepository = new LanguageRepository(this.Context); + this._languageRepository = new LanguageRepository(this._context); } [TearDown] public void TearDown() { - _ = this.Context.Database.EnsureDeleted(); + _ = this._context.Database.EnsureDeleted(); } #endregion @@ -40,9 +40,9 @@ namespace DevHive.Data.Tests { await this.AddEntity(); - Language language = this.Context.Languages.Where(x => x.Name == LANGUAGE_NAME).AsEnumerable().FirstOrDefault(); + Language language = this._context.Languages.Where(x => x.Name == LANGUAGE_NAME).AsEnumerable().FirstOrDefault(); - Language languageResult = await this.LanguageRepository.GetByNameAsync(LANGUAGE_NAME); + Language languageResult = await this._languageRepository.GetByNameAsync(LANGUAGE_NAME); Assert.AreEqual(language.Id, languageResult.Id); } @@ -50,7 +50,7 @@ namespace DevHive.Data.Tests [Test] public async Task GetByNameAsync_ReturnsNull_IfTechnologyDoesNotExists() { - Language languageResult = await this.LanguageRepository.GetByNameAsync(LANGUAGE_NAME); + Language languageResult = await this._languageRepository.GetByNameAsync(LANGUAGE_NAME); Assert.IsNull(languageResult); } @@ -61,11 +61,11 @@ namespace DevHive.Data.Tests public async Task DoesLanguageExist_ReturnsTrue_IfIdExists() { await this.AddEntity(); - Language language = this.Context.Languages.Where(x => x.Name == LANGUAGE_NAME).AsEnumerable().FirstOrDefault(); + Language language = this._context.Languages.Where(x => x.Name == LANGUAGE_NAME).AsEnumerable().FirstOrDefault(); Guid id = language.Id; - bool result = await this.LanguageRepository.DoesLanguageExistAsync(id); + bool result = await this._languageRepository.DoesLanguageExistAsync(id); Assert.IsTrue(result, "DoesLanguageExistAsync returns flase when language exists"); } @@ -75,7 +75,7 @@ namespace DevHive.Data.Tests { Guid id = Guid.NewGuid(); - bool result = await this.LanguageRepository.DoesLanguageExistAsync(id); + bool result = await this._languageRepository.DoesLanguageExistAsync(id); Assert.IsFalse(result, "DoesLanguageExistAsync returns true when language does not exist"); } @@ -87,7 +87,7 @@ namespace DevHive.Data.Tests { await this.AddEntity(); - bool result = await this.LanguageRepository.DoesLanguageNameExistAsync(LANGUAGE_NAME); + bool result = await this._languageRepository.DoesLanguageNameExistAsync(LANGUAGE_NAME); Assert.IsTrue(result, "DoesLanguageNameExists returns true when language name does not exist"); } @@ -95,7 +95,7 @@ namespace DevHive.Data.Tests [Test] public async Task DoesLanguageNameExist_ReturnsFalse_IfLanguageDoesNotExists() { - bool result = await this.LanguageRepository.DoesLanguageNameExistAsync(LANGUAGE_NAME); + bool result = await this._languageRepository.DoesLanguageNameExistAsync(LANGUAGE_NAME); Assert.False(result, "DoesTechnologyNameExistAsync returns true when language name does not exist"); } @@ -109,7 +109,7 @@ namespace DevHive.Data.Tests Name = name }; - _ = await this.LanguageRepository.AddAsync(language); + _ = await this._languageRepository.AddAsync(language); } #endregion } diff --git a/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs b/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs index c57844e..374befd 100644 --- a/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs @@ -15,12 +15,9 @@ namespace DevHive.Data.Tests 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; } + private DevHiveContext _context; + private Mock _userRepository; + private PostRepository _postRepository; #region Setups [SetUp] @@ -29,17 +26,17 @@ namespace DevHive.Data.Tests DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder() .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - this.Context = new DevHiveContext(optionsBuilder.Options); + this._context = new DevHiveContext(optionsBuilder.Options); - this.UserRepository = new Mock(); + this._userRepository = new Mock(); - this.PostRepository = new PostRepository(this.Context, this.UserRepository.Object); + this._postRepository = new PostRepository(this._context, this._userRepository.Object); } [TearDown] public void TearDown() { - _ = this.Context.Database.EnsureDeleted(); + _ = this._context.Database.EnsureDeleted(); } #endregion @@ -64,7 +61,7 @@ namespace DevHive.Data.Tests { Post post = await this.AddEntity(); - Post resultTechnology = await this.PostRepository.GetByIdAsync(post.Id); + Post resultTechnology = await this._postRepository.GetByIdAsync(post.Id); Assert.AreEqual(post.Id, resultTechnology.Id, "GetByIdAsync does not return the correct post"); } @@ -72,7 +69,7 @@ namespace DevHive.Data.Tests [Test] public async Task GetByIdAsync_ReturnsNull_IfTechnologyDoesNotExists() { - Post resultPost = await this.PostRepository.GetByIdAsync(Guid.NewGuid()); + Post resultPost = await this._postRepository.GetByIdAsync(Guid.NewGuid()); Assert.IsNull(resultPost); } @@ -84,7 +81,7 @@ namespace DevHive.Data.Tests { Post post = await this.AddEntity(); - Post resultPost = await this.PostRepository.GetPostByCreatorAndTimeCreatedAsync(post.Creator.Id, post.TimeCreated); + 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"); } @@ -94,7 +91,7 @@ namespace DevHive.Data.Tests { _ = await this.AddEntity(); - Post resutPost = await this.PostRepository.GetPostByCreatorAndTimeCreatedAsync(Guid.Empty, DateTime.Now); + Post resutPost = await this._postRepository.GetPostByCreatorAndTimeCreatedAsync(Guid.Empty, DateTime.Now); Assert.IsNull(resutPost, "GetPostByCreatorAndTimeCreatedAsync does not return null when the post does not exist"); } @@ -106,7 +103,7 @@ namespace DevHive.Data.Tests { Post post = await this.AddEntity(); - bool result = await this.PostRepository.DoesPostExist(post.Id); + bool result = await this._postRepository.DoesPostExist(post.Id); Assert.IsTrue(result, "DoesPostExist does not return true whenm the Post exists"); } @@ -114,7 +111,7 @@ namespace DevHive.Data.Tests [Test] public async Task DoesPostExist_ReturnsFalse_WhenThePostDoesNotExist() { - bool result = await this.PostRepository.DoesPostExist(Guid.Empty); + bool result = await this._postRepository.DoesPostExist(Guid.Empty); Assert.IsFalse(result, "DoesPostExist does not return false whenm the Post does not exist"); } @@ -124,7 +121,7 @@ namespace DevHive.Data.Tests private async Task AddEntity() { User creator = new() { Id = Guid.NewGuid() }; - _ = await this.Context.Users.AddAsync(creator); + _ = await this._context.Users.AddAsync(creator); Post post = new() { Message = POST_MESSAGE, @@ -135,8 +132,8 @@ namespace DevHive.Data.Tests Comments = new List() }; - _ = await this.Context.Posts.AddAsync(post); - _ = await this.Context.SaveChangesAsync(); + _ = await this._context.Posts.AddAsync(post); + _ = await this._context.SaveChangesAsync(); return post; } diff --git a/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs b/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs index f7fbacb..c12a38e 100644 --- a/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs @@ -12,10 +12,8 @@ namespace DevHive.Data.Tests public class TechnologyRepositoryTests { private const string TECHNOLOGY_NAME = "Technology test name"; - - protected DevHiveContext Context { get; set; } - - protected TechnologyRepository TechnologyRepository { get; set; } + private DevHiveContext _context; + private TechnologyRepository _technologyRepository; #region Setups [SetUp] @@ -24,15 +22,15 @@ namespace DevHive.Data.Tests DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder() .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - this.Context = new DevHiveContext(optionsBuilder.Options); + this._context = new DevHiveContext(optionsBuilder.Options); - this.TechnologyRepository = new TechnologyRepository(this.Context); + this._technologyRepository = new TechnologyRepository(this._context); } [TearDown] public void TearDown() { - _ = this.Context.Database.EnsureDeleted(); + _ = this._context.Database.EnsureDeleted(); } #endregion @@ -42,9 +40,9 @@ namespace DevHive.Data.Tests { await this.AddEntity(); - Technology technology = this.Context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).AsEnumerable().FirstOrDefault(); + Technology technology = this._context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).AsEnumerable().FirstOrDefault(); - Technology resultTechnology = await this.TechnologyRepository.GetByNameAsync(TECHNOLOGY_NAME); + Technology resultTechnology = await this._technologyRepository.GetByNameAsync(TECHNOLOGY_NAME); Assert.AreEqual(technology.Id, resultTechnology.Id); } @@ -52,7 +50,7 @@ namespace DevHive.Data.Tests [Test] public async Task GetByNameAsync_ReturnsNull_IfTechnologyDoesNotExists() { - Technology resultTechnology = await this.TechnologyRepository.GetByNameAsync(TECHNOLOGY_NAME); + Technology resultTechnology = await this._technologyRepository.GetByNameAsync(TECHNOLOGY_NAME); Assert.IsNull(resultTechnology); } @@ -63,10 +61,10 @@ namespace DevHive.Data.Tests public async Task DoesTechnologyExist_ReturnsTrue_IfIdExists() { await this.AddEntity(); - Technology technology = this.Context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).AsEnumerable().FirstOrDefault(); + Technology technology = this._context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).AsEnumerable().FirstOrDefault(); Guid id = technology.Id; - bool result = await this.TechnologyRepository.DoesTechnologyExistAsync(id); + bool result = await this._technologyRepository.DoesTechnologyExistAsync(id); Assert.IsTrue(result, "DoesTechnologyExistAsync returns flase hwen technology exists"); } @@ -76,7 +74,7 @@ namespace DevHive.Data.Tests { Guid id = Guid.NewGuid(); - bool result = await this.TechnologyRepository.DoesTechnologyExistAsync(id); + bool result = await this._technologyRepository.DoesTechnologyExistAsync(id); Assert.IsFalse(result, "DoesTechnologyExistAsync returns true when technology does not exist"); } @@ -88,7 +86,7 @@ namespace DevHive.Data.Tests { await this.AddEntity(); - bool result = await this.TechnologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME); + bool result = await this._technologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME); Assert.IsTrue(result, "DoesTechnologyNameExists returns true when technology name does not exist"); } @@ -96,7 +94,7 @@ namespace DevHive.Data.Tests [Test] public async Task DoesTechnologyNameExist_ReturnsFalse_IfTechnologyDoesNotExists() { - bool result = await this.TechnologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME); + bool result = await this._technologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME); Assert.False(result, "DoesTechnologyNameExistAsync returns true when technology name does not exist"); } @@ -110,8 +108,8 @@ namespace DevHive.Data.Tests Name = name }; - _ = this.Context.Technologies.Add(technology); - _ = await this.Context.SaveChangesAsync(); + _ = this._context.Technologies.Add(technology); + _ = await this._context.SaveChangesAsync(); } #endregion } -- cgit v1.2.3 From a2dde73b37ad311213a6787fb5aeb5cb4103968c Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 14 Mar 2021 11:23:35 +0200 Subject: Updated code style of mock setups in Web layer tests --- .../DevHive.Web.Tests/CommentController.Tests.cs | 120 +++++++++++++++------ src/Web/DevHive.Web.Tests/FeedController.Tests.cs | 24 +++-- .../DevHive.Web.Tests/LanguageController.Tests.cs | 48 ++++++--- src/Web/DevHive.Web.Tests/PostController.Tests.cs | 108 ++++++++++++++----- src/Web/DevHive.Web.Tests/RoleController.Tests.cs | 50 ++++++--- .../TechnologyController.Tests.cs | 48 ++++++--- src/Web/DevHive.Web.Tests/UserController.Tests.cs | 76 +++++++++---- 7 files changed, 355 insertions(+), 119 deletions(-) diff --git a/src/Web/DevHive.Web.Tests/CommentController.Tests.cs b/src/Web/DevHive.Web.Tests/CommentController.Tests.cs index 3b7f0a9..4e1715c 100644 --- a/src/Web/DevHive.Web.Tests/CommentController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/CommentController.Tests.cs @@ -47,10 +47,18 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createCommentServiceModel); - this._commentServiceMock.Setup(p => p.AddComment(It.IsAny())).Returns(Task.FromResult(id)); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._commentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(createCommentServiceModel); + this._commentServiceMock + .Setup(p => p.AddComment(It.IsAny())) + .Returns(Task.FromResult(id)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; @@ -81,10 +89,18 @@ namespace DevHive.Web.Tests string errorMessage = $"Could not create comment!"; - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createCommentServiceModel); - this._commentServiceMock.Setup(p => p.AddComment(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._commentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(createCommentServiceModel); + this._commentServiceMock + .Setup(p => p.AddComment(It.IsAny())) + .Returns(Task.FromResult(Guid.Empty)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; @@ -104,8 +120,12 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._commentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(false)); IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; @@ -127,9 +147,15 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._commentServiceMock.Setup(p => p.GetCommentById(It.IsAny())).Returns(Task.FromResult(readCommentServiceModel)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readCommentWebModel); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.GetCommentById(It.IsAny())) + .Returns(Task.FromResult(readCommentServiceModel)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readCommentWebModel); IActionResult result = this._commentController.GetCommentById(id).Result; @@ -156,10 +182,18 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this._commentServiceMock.Setup(p => p.UpdateComment(It.IsAny())).Returns(Task.FromResult(id)); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._commentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateCommentServiceModel); + this._commentServiceMock + .Setup(p => p.UpdateComment(It.IsAny())) + .Returns(Task.FromResult(id)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(updateCommentServiceModel); IActionResult result = this._commentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; @@ -185,10 +219,18 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this._commentServiceMock.Setup(p => p.UpdateComment(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._commentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateCommentServiceModel); + this._commentServiceMock + .Setup(p => p.UpdateComment(It.IsAny())) + .Returns(Task.FromResult(Guid.Empty)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(updateCommentServiceModel); IActionResult result = this._commentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; Assert.IsInstanceOf(result); @@ -207,7 +249,9 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(false); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(false); // this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); IActionResult result = this._commentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; @@ -222,9 +266,15 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this._commentServiceMock.Setup(p => p.DeleteComment(It.IsAny())).Returns(Task.FromResult(true)); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._commentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._commentServiceMock + .Setup(p => p.DeleteComment(It.IsAny())) + .Returns(Task.FromResult(true)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._commentController.DeleteComment(id, null).Result; @@ -237,9 +287,15 @@ namespace DevHive.Web.Tests string message = "Could not delete Comment"; Guid id = Guid.NewGuid(); - this._commentServiceMock.Setup(p => p.DeleteComment(It.IsAny())).Returns(Task.FromResult(false)); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._commentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._commentServiceMock + .Setup(p => p.DeleteComment(It.IsAny())) + .Returns(Task.FromResult(false)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._commentController.DeleteComment(id, null).Result; @@ -254,8 +310,12 @@ namespace DevHive.Web.Tests [Test] public void DeleteComment_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized() { - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._commentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(false)); IActionResult result = this._commentController.DeleteComment(Guid.Empty, null).Result; diff --git a/src/Web/DevHive.Web.Tests/FeedController.Tests.cs b/src/Web/DevHive.Web.Tests/FeedController.Tests.cs index 80a2a14..7a7fd8d 100644 --- a/src/Web/DevHive.Web.Tests/FeedController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/FeedController.Tests.cs @@ -48,9 +48,15 @@ namespace DevHive.Web.Tests } }; - this._feedServiceMock.Setup(p => p.GetPage(It.IsAny())).Returns(Task.FromResult(readPageServiceModel)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(getPageServiceModel); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readPageWebModel); + this._feedServiceMock + .Setup(p => p.GetPage(It.IsAny())) + .Returns(Task.FromResult(readPageServiceModel)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(getPageServiceModel); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readPageWebModel); IActionResult result = await this._feedController.GetPosts(Guid.Empty, getPageWebModel); @@ -80,9 +86,15 @@ namespace DevHive.Web.Tests } }; - this._feedServiceMock.Setup(p => p.GetUserPage(It.IsAny())).Returns(Task.FromResult(readPageServiceModel)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(getPageServiceModel); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readPageWebModel); + this._feedServiceMock + .Setup(p => p.GetUserPage(It.IsAny())) + .Returns(Task.FromResult(readPageServiceModel)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(getPageServiceModel); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readPageWebModel); IActionResult result = await this._feedController.GetUserPosts(null, getPageWebModel); diff --git a/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs b/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs index f11e1a1..de882fc 100644 --- a/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs @@ -42,8 +42,12 @@ namespace DevHive.Web.Tests }; Guid id = Guid.NewGuid(); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createLanguageServiceModel); - this._languageServiceMock.Setup(p => p.CreateLanguage(It.IsAny())).Returns(Task.FromResult(id)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(createLanguageServiceModel); + this._languageServiceMock + .Setup(p => p.CreateLanguage(It.IsAny())) + .Returns(Task.FromResult(id)); IActionResult result = this._languageController.Create(createLanguageWebModel).Result; @@ -74,8 +78,12 @@ namespace DevHive.Web.Tests Guid id = Guid.Empty; string errorMessage = $"Could not create language {NAME}"; - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); - this._languageServiceMock.Setup(p => p.CreateLanguage(It.IsAny())).Returns(Task.FromResult(id)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(createTechnologyServiceModel); + this._languageServiceMock + .Setup(p => p.CreateLanguage(It.IsAny())) + .Returns(Task.FromResult(id)); IActionResult result = this._languageController.Create(createTechnologyWebModel).Result; @@ -103,8 +111,12 @@ namespace DevHive.Web.Tests Name = NAME }; - this._languageServiceMock.Setup(p => p.GetLanguageById(It.IsAny())).Returns(Task.FromResult(readLanguageServiceModel)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readLanguageWebModel); + this._languageServiceMock + .Setup(p => p.GetLanguageById(It.IsAny())) + .Returns(Task.FromResult(readLanguageServiceModel)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readLanguageWebModel); IActionResult result = this._languageController.GetById(id).Result; @@ -131,8 +143,12 @@ namespace DevHive.Web.Tests Name = NAME }; - this._languageServiceMock.Setup(p => p.UpdateLanguage(It.IsAny())).Returns(Task.FromResult(true)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateLanguageServiceModel); + this._languageServiceMock + .Setup(p => p.UpdateLanguage(It.IsAny())) + .Returns(Task.FromResult(true)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(updateLanguageServiceModel); IActionResult result = this._languageController.Update(id, updateLanguageWebModel).Result; @@ -153,8 +169,12 @@ namespace DevHive.Web.Tests Name = NAME }; - this._languageServiceMock.Setup(p => p.UpdateLanguage(It.IsAny())).Returns(Task.FromResult(false)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateLanguageServiceModel); + this._languageServiceMock + .Setup(p => p.UpdateLanguage(It.IsAny())) + .Returns(Task.FromResult(false)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(updateLanguageServiceModel); IActionResult result = this._languageController.Update(id, updateLanguageWebModel).Result; Assert.IsInstanceOf(result); @@ -172,7 +192,9 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this._languageServiceMock.Setup(p => p.DeleteLanguage(It.IsAny())).Returns(Task.FromResult(true)); + this._languageServiceMock + .Setup(p => p.DeleteLanguage(It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._languageController.Delete(id).Result; @@ -185,7 +207,9 @@ namespace DevHive.Web.Tests string message = "Could not delete Language"; Guid id = Guid.NewGuid(); - this._languageServiceMock.Setup(p => p.DeleteLanguage(It.IsAny())).Returns(Task.FromResult(false)); + this._languageServiceMock + .Setup(p => p.DeleteLanguage(It.IsAny())) + .Returns(Task.FromResult(false)); IActionResult result = this._languageController.Delete(id).Result; diff --git a/src/Web/DevHive.Web.Tests/PostController.Tests.cs b/src/Web/DevHive.Web.Tests/PostController.Tests.cs index c2c2fbc..384a92a 100644 --- a/src/Web/DevHive.Web.Tests/PostController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/PostController.Tests.cs @@ -45,10 +45,18 @@ namespace DevHive.Web.Tests }; Guid id = Guid.NewGuid(); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createPostServiceModel); - this._postServiceMock.Setup(p => p.CreatePost(It.IsAny())).Returns(Task.FromResult(id)); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._postServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(createPostServiceModel); + this._postServiceMock + .Setup(p => p.CreatePost(It.IsAny())) + .Returns(Task.FromResult(id)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._postServiceMock + .Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._postController.Create(Guid.Empty, createPostWebModel, null).Result; @@ -79,10 +87,18 @@ namespace DevHive.Web.Tests Guid id = Guid.Empty; string errorMessage = $"Could not create post!"; - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); - this._postServiceMock.Setup(p => p.CreatePost(It.IsAny())).Returns(Task.FromResult(id)); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._postServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(createTechnologyServiceModel); + this._postServiceMock + .Setup(p => p.CreatePost(It.IsAny())) + .Returns(Task.FromResult(id)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._postServiceMock + .Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._postController.Create(Guid.Empty, createTechnologyWebModel, null).Result; @@ -102,7 +118,9 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this._postServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this._postServiceMock + .Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(false)); IActionResult result = this._postController.Create(Guid.NewGuid(), createPostWebModel, null).Result; @@ -125,8 +143,12 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this._postServiceMock.Setup(p => p.GetPostById(It.IsAny())).Returns(Task.FromResult(readPostServiceModel)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readPostWebModel); + this._postServiceMock + .Setup(p => p.GetPostById(It.IsAny())) + .Returns(Task.FromResult(readPostServiceModel)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readPostWebModel); IActionResult result = this._postController.GetById(id).Result; @@ -153,10 +175,18 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this._postServiceMock.Setup(p => p.UpdatePost(It.IsAny())).Returns(Task.FromResult(id)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updatePostServiceModel); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._postServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._postServiceMock + .Setup(p => p.UpdatePost(It.IsAny())) + .Returns(Task.FromResult(id)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(updatePostServiceModel); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._postServiceMock + .Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._postController.Update(id, updatePostWebModel, null).Result; @@ -177,10 +207,18 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this._postServiceMock.Setup(p => p.UpdatePost(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updatePostServiceModel); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._postServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._postServiceMock + .Setup(p => p.UpdatePost(It.IsAny())) + .Returns(Task.FromResult(Guid.Empty)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(updatePostServiceModel); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._postServiceMock + .Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._postController.Update(id, updatePostWebModel, null).Result; Assert.IsInstanceOf(result); @@ -199,7 +237,9 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this._postServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this._postServiceMock + .Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(false)); IActionResult result = this._postController.Update(Guid.Empty, updatePostWebModel, null).Result; @@ -213,9 +253,15 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this._postServiceMock.Setup(p => p.DeletePost(It.IsAny())).Returns(Task.FromResult(true)); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._postServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._postServiceMock + .Setup(p => p.DeletePost(It.IsAny())) + .Returns(Task.FromResult(true)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._postServiceMock + .Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._postController.Delete(id, null).Result; @@ -228,9 +274,15 @@ namespace DevHive.Web.Tests string message = "Could not delete Post"; Guid id = Guid.NewGuid(); - this._postServiceMock.Setup(p => p.DeletePost(It.IsAny())).Returns(Task.FromResult(false)); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._postServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); + this._postServiceMock + .Setup(p => p.DeletePost(It.IsAny())) + .Returns(Task.FromResult(false)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._postServiceMock + .Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._postController.Delete(id, null).Result; @@ -245,7 +297,9 @@ namespace DevHive.Web.Tests [Test] public void DeletePost_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized() { - this._postServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this._postServiceMock + .Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(false)); IActionResult result = this._postController.Delete(Guid.Empty, null).Result; diff --git a/src/Web/DevHive.Web.Tests/RoleController.Tests.cs b/src/Web/DevHive.Web.Tests/RoleController.Tests.cs index 83358a0..0f835c1 100644 --- a/src/Web/DevHive.Web.Tests/RoleController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/RoleController.Tests.cs @@ -42,8 +42,12 @@ namespace DevHive.Web.Tests }; Guid id = Guid.NewGuid(); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createRoleServiceModel); - this._roleServiceMock.Setup(p => p.CreateRole(It.IsAny())).Returns(Task.FromResult(id)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(createRoleServiceModel); + this._roleServiceMock + .Setup(p => p.CreateRole(It.IsAny())) + .Returns(Task.FromResult(id)); IActionResult result = this._roleController.Create(createRoleWebModel).Result; @@ -74,8 +78,12 @@ namespace DevHive.Web.Tests Guid id = Guid.Empty; string errorMessage = $"Could not create role {NAME}"; - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); - this._roleServiceMock.Setup(p => p.CreateRole(It.IsAny())).Returns(Task.FromResult(id)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(createTechnologyServiceModel); + this._roleServiceMock + .Setup(p => p.CreateRole(It.IsAny())) + .Returns(Task.FromResult(id)); IActionResult result = this._roleController.Create(createTechnologyWebModel).Result; @@ -103,8 +111,12 @@ namespace DevHive.Web.Tests Name = NAME }; - this._roleServiceMock.Setup(p => p.GetRoleById(It.IsAny())).Returns(Task.FromResult(roleServiceModel)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(roleWebModel); + this._roleServiceMock + .Setup(p => p.GetRoleById(It.IsAny())) + .Returns(Task.FromResult(roleServiceModel)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(roleWebModel); IActionResult result = this._roleController.GetById(id).Result; @@ -131,8 +143,12 @@ namespace DevHive.Web.Tests Name = NAME }; - this._roleServiceMock.Setup(p => p.UpdateRole(It.IsAny())).Returns(Task.FromResult(true)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateRoleServiceModel); + this._roleServiceMock + .Setup(p => p.UpdateRole(It.IsAny())) + .Returns(Task.FromResult(true)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(updateRoleServiceModel); IActionResult result = this._roleController.Update(id, updateRoleWebModel).Result; @@ -153,8 +169,12 @@ namespace DevHive.Web.Tests Name = NAME }; - this._roleServiceMock.Setup(p => p.UpdateRole(It.IsAny())).Returns(Task.FromResult(false)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateRoleServiceModel); + this._roleServiceMock + .Setup(p => p.UpdateRole(It.IsAny())) + .Returns(Task.FromResult(false)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(updateRoleServiceModel); IActionResult result = this._roleController.Update(id, updateRoleWebModel).Result; Assert.IsInstanceOf(result); @@ -172,7 +192,9 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this._roleServiceMock.Setup(p => p.DeleteRole(It.IsAny())).Returns(Task.FromResult(true)); + this._roleServiceMock + .Setup(p => p.DeleteRole(It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._roleController.Delete(id).Result; @@ -180,12 +202,14 @@ namespace DevHive.Web.Tests } [Test] - public void Delet_ReturnsBadRequestObjectResult_WhenRoleIsNotDeletedSuccessfully() + public void Delete_ReturnsBadRequestObjectResult_WhenRoleIsNotDeletedSuccessfully() { string message = "Could not delete role!"; Guid id = Guid.NewGuid(); - this._roleServiceMock.Setup(p => p.DeleteRole(It.IsAny())).Returns(Task.FromResult(false)); + this._roleServiceMock + .Setup(p => p.DeleteRole(It.IsAny())) + .Returns(Task.FromResult(false)); IActionResult result = this._roleController.Delete(id).Result; diff --git a/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs b/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs index 64b128c..76d291d 100644 --- a/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs @@ -44,8 +44,12 @@ namespace DevHive.Web.Tests }; Guid id = Guid.NewGuid(); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); - this._technologyServiceMock.Setup(p => p.CreateTechnology(It.IsAny())).Returns(Task.FromResult(id)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(createTechnologyServiceModel); + this._technologyServiceMock + .Setup(p => p.CreateTechnology(It.IsAny())) + .Returns(Task.FromResult(id)); IActionResult result = this._technologyController.Create(createTechnologyWebModel).Result; @@ -76,8 +80,12 @@ namespace DevHive.Web.Tests Guid id = Guid.Empty; string errorMessage = $"Could not create technology {NAME}"; - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(createTechnologyServiceModel); - this._technologyServiceMock.Setup(p => p.CreateTechnology(It.IsAny())).Returns(Task.FromResult(id)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(createTechnologyServiceModel); + this._technologyServiceMock + .Setup(p => p.CreateTechnology(It.IsAny())) + .Returns(Task.FromResult(id)); IActionResult result = this._technologyController.Create(createTechnologyWebModel).Result; @@ -105,8 +113,12 @@ namespace DevHive.Web.Tests Name = NAME }; - this._technologyServiceMock.Setup(p => p.GetTechnologyById(It.IsAny())).Returns(Task.FromResult(readTechnologyServiceModel)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readTechnologyWebModel); + this._technologyServiceMock + .Setup(p => p.GetTechnologyById(It.IsAny())) + .Returns(Task.FromResult(readTechnologyServiceModel)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readTechnologyWebModel); IActionResult result = this._technologyController.GetById(id).Result; @@ -133,8 +145,12 @@ namespace DevHive.Web.Tests Name = NAME }; - this._technologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny())).Returns(Task.FromResult(true)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateTechnologyServiceModel); + this._technologyServiceMock + .Setup(p => p.UpdateTechnology(It.IsAny())) + .Returns(Task.FromResult(true)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(updateTechnologyServiceModel); IActionResult result = this._technologyController.Update(id, updateTechnologyWebModel).Result; @@ -155,8 +171,12 @@ namespace DevHive.Web.Tests Name = NAME }; - this._technologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny())).Returns(Task.FromResult(false)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateTechnologyServiceModel); + this._technologyServiceMock + .Setup(p => p.UpdateTechnology(It.IsAny())) + .Returns(Task.FromResult(false)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(updateTechnologyServiceModel); IActionResult result = this._technologyController.Update(id, updateTechnologyWebModel).Result; Assert.IsInstanceOf(result); @@ -174,7 +194,9 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this._technologyServiceMock.Setup(p => p.DeleteTechnology(It.IsAny())).Returns(Task.FromResult(true)); + this._technologyServiceMock + .Setup(p => p.DeleteTechnology(It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._technologyController.Delete(id).Result; @@ -187,7 +209,9 @@ namespace DevHive.Web.Tests string message = "Could not delete Technology"; Guid id = Guid.NewGuid(); - this._technologyServiceMock.Setup(p => p.DeleteTechnology(It.IsAny())).Returns(Task.FromResult(false)); + this._technologyServiceMock + .Setup(p => p.DeleteTechnology(It.IsAny())) + .Returns(Task.FromResult(false)); IActionResult result = this._technologyController.Delete(id).Result; diff --git a/src/Web/DevHive.Web.Tests/UserController.Tests.cs b/src/Web/DevHive.Web.Tests/UserController.Tests.cs index 89e5fc9..ad7bdd9 100644 --- a/src/Web/DevHive.Web.Tests/UserController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/UserController.Tests.cs @@ -47,9 +47,15 @@ namespace DevHive.Web.Tests TokenModel tokenModel = new(token); TokenWebModel tokenWebModel = new(token); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(loginServiceModel); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(tokenWebModel); - this._userServiceMock.Setup(p => p.LoginUser(It.IsAny())).Returns(Task.FromResult(tokenModel)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(loginServiceModel); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(tokenWebModel); + this._userServiceMock + .Setup(p => p.LoginUser(It.IsAny())) + .Returns(Task.FromResult(tokenModel)); IActionResult result = this._userController.Login(loginWebModel).Result; @@ -75,9 +81,15 @@ namespace DevHive.Web.Tests TokenModel tokenModel = new(token); TokenWebModel tokenWebModel = new(token); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(registerServiceModel); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(tokenWebModel); - this._userServiceMock.Setup(p => p.RegisterUser(It.IsAny())).Returns(Task.FromResult(tokenModel)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(registerServiceModel); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(tokenWebModel); + this._userServiceMock + .Setup(p => p.RegisterUser(It.IsAny())) + .Returns(Task.FromResult(tokenModel)); IActionResult result = this._userController.Register(registerWebModel).Result; @@ -105,9 +117,15 @@ namespace DevHive.Web.Tests UserName = USERNAME }; - this._userServiceMock.Setup(p => p.GetUserById(It.IsAny())).Returns(Task.FromResult(userServiceModel)); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(userWebModel); + this._userServiceMock + .Setup(p => p.GetUserById(It.IsAny())) + .Returns(Task.FromResult(userServiceModel)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(userWebModel); IActionResult result = this._userController.GetById(id, null).Result; @@ -122,7 +140,9 @@ namespace DevHive.Web.Tests [Test] public void GetById_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized() { - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(false); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(false); IActionResult result = this._userController.GetById(Guid.NewGuid(), null).Result; @@ -141,8 +161,12 @@ namespace DevHive.Web.Tests UserName = USERNAME }; - this._userServiceMock.Setup(p => p.GetUserByUsername(It.IsAny())).Returns(Task.FromResult(userServiceModel)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(userWebModel); + this._userServiceMock + .Setup(p => p.GetUserByUsername(It.IsAny())) + .Returns(Task.FromResult(userServiceModel)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(userWebModel); IActionResult result = this._userController.GetUser(null).Result; @@ -173,9 +197,15 @@ namespace DevHive.Web.Tests UserName = USERNAME }; - this._userServiceMock.Setup(p => p.UpdateUser(It.IsAny())).Returns(Task.FromResult(userServiceModel)); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateUserServiceModel); + this._userServiceMock + .Setup(p => p.UpdateUser(It.IsAny())) + .Returns(Task.FromResult(userServiceModel)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(updateUserServiceModel); IActionResult result = this._userController.Update(id, updateUserWebModel, null).Result; @@ -189,8 +219,12 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._userServiceMock.Setup(p => p.DeleteUser(It.IsAny())).Returns(Task.FromResult(true)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._userServiceMock + .Setup(p => p.DeleteUser(It.IsAny())) + .Returns(Task.FromResult(true)); IActionResult result = this._userController.Delete(id, null).Result; @@ -203,8 +237,12 @@ namespace DevHive.Web.Tests string message = "Could not delete User"; Guid id = Guid.NewGuid(); - this._jwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this._userServiceMock.Setup(p => p.DeleteUser(It.IsAny())).Returns(Task.FromResult(false)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._userServiceMock + .Setup(p => p.DeleteUser(It.IsAny())) + .Returns(Task.FromResult(false)); IActionResult result = this._userController.Delete(id, null).Result; -- cgit v1.2.3 From 5372fa5e7cd1a3d97a61052cd87f2105c65b143a Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 14 Mar 2021 11:39:23 +0200 Subject: Updated code style of mock setups in Service layer tests --- .../DevHive.Services.Tests/CommentService.Tests.cs | 104 +++++++++--- .../LanguageService.Tests.cs | 104 +++++++++--- .../DevHive.Services.Tests/PostService.Tests.cs | 104 +++++++++--- .../DevHive.Services.Tests/RoleService.Tests.cs | 88 +++++++--- .../TechnologyServices.Tests.cs | 104 +++++++++--- .../DevHive.Services.Tests/UserService.Tests.cs | 180 +++++++++++---------- 6 files changed, 470 insertions(+), 214 deletions(-) diff --git a/src/Services/DevHive.Services.Tests/CommentService.Tests.cs b/src/Services/DevHive.Services.Tests/CommentService.Tests.cs index a73cf90..729e943 100644 --- a/src/Services/DevHive.Services.Tests/CommentService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/CommentService.Tests.cs @@ -48,11 +48,21 @@ namespace DevHive.Services.Tests Id = id, }; - _ = this._commentRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); - _ = this._commentRepositoryMock.Setup(p => p.GetCommentByIssuerAndTimeCreatedAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(comment)); - _ = this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - _ = this._userRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(creator)); - _ = this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); + this._commentRepositoryMock + .Setup(p => p.AddAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._commentRepositoryMock + .Setup(p => p.GetCommentByIssuerAndTimeCreatedAsync(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(comment)); + this._postRepositoryMock + .Setup(p => p.DoesPostExist(It.IsAny())) + .Returns(Task.FromResult(true)); + this._userRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(creator)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(comment); Guid result = await this._commentService.AddComment(createCommentServiceModel); @@ -71,9 +81,15 @@ namespace DevHive.Services.Tests Message = MESSAGE, }; - _ = this._commentRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); - _ = this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - _ = this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); + this._commentRepositoryMock + .Setup(p => p.AddAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._postRepositoryMock + .Setup(p => p.DoesPostExist(It.IsAny())) + .Returns(Task.FromResult(true)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(comment); Guid result = await this._commentService.AddComment(createCommentServiceModel); @@ -116,9 +132,15 @@ namespace DevHive.Services.Tests Id = creatorId, }; - _ = this._commentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); - _ = this._userRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - _ = this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(commentServiceModel); + this._commentRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(comment)); + this._userRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(user)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(commentServiceModel); ReadCommentServiceModel result = await this._commentService.GetCommentById(Guid.NewGuid()); @@ -137,7 +159,9 @@ namespace DevHive.Services.Tests Creator = creator }; - _ = this._commentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); + this._commentRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(comment)); Exception ex = Assert.ThrowsAsync(() => this._commentService.GetCommentById(Guid.NewGuid()), "GetCommentById does not throw exception when the user does not exist"); @@ -154,8 +178,12 @@ namespace DevHive.Services.Tests Id = creatorId, }; - _ = this._commentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); - _ = this._userRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); + this._commentRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(null)); + this._userRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(user)); Exception ex = Assert.ThrowsAsync(() => this._commentService.GetCommentById(Guid.NewGuid())); @@ -179,10 +207,18 @@ namespace DevHive.Services.Tests NewMessage = MESSAGE }; - _ = this._commentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); - _ = this._commentRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - _ = this._commentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); - _ = this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); + this._commentRepositoryMock + .Setup(p => p.DoesCommentExist(It.IsAny())) + .Returns(Task.FromResult(true)); + this._commentRepositoryMock + .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); + this._commentRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(comment)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(comment); Guid result = await this._commentService.UpdateComment(updateCommentServiceModel); @@ -202,9 +238,15 @@ namespace DevHive.Services.Tests NewMessage = MESSAGE }; - _ = this._commentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); - _ = this._commentRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - _ = this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(comment); + this._commentRepositoryMock + .Setup(p => p.DoesCommentExist(It.IsAny())) + .Returns(Task.FromResult(true)); + this._commentRepositoryMock + .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(false)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(comment); Guid result = await this._commentService.UpdateComment(updateCommentServiceModel); @@ -219,7 +261,9 @@ namespace DevHive.Services.Tests { }; - _ = this._commentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(false)); + this._commentRepositoryMock + .Setup(p => p.DoesCommentExist(It.IsAny())) + .Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this._commentService.UpdateComment(updateCommentServiceModel)); @@ -236,9 +280,15 @@ namespace DevHive.Services.Tests Guid id = new(); Comment comment = new(); - _ = this._commentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(true)); - _ = this._commentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(comment)); - _ = this._commentRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); + this._commentRepositoryMock + .Setup(p => p.DoesCommentExist(It.IsAny())) + .Returns(Task.FromResult(true)); + this._commentRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(comment)); + this._commentRepositoryMock + .Setup(p => p.DeleteAsync(It.IsAny())) + .Returns(Task.FromResult(shouldPass)); bool result = await this._commentService.DeleteComment(id); @@ -251,7 +301,9 @@ namespace DevHive.Services.Tests string exceptionMessage = "Comment does not exist!"; Guid id = new(); - _ = this._commentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny())).Returns(Task.FromResult(false)); + this._commentRepositoryMock + .Setup(p => p.DoesCommentExist(It.IsAny())) + .Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this._commentService.DeleteComment(id)); diff --git a/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs b/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs index 0b5f198..c1f4d54 100644 --- a/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs @@ -44,10 +44,18 @@ namespace DevHive.Services.Tests Id = id }; - this._languageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - this._languageRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); - this._languageRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny())).Returns(Task.FromResult(language)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(language); + this._languageRepositoryMock + .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._languageRepositoryMock + .Setup(p => p.AddAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._languageRepositoryMock + .Setup(p => p.GetByNameAsync(It.IsAny())) + .Returns(Task.FromResult(language)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(language); Guid result = await this._languageService.CreateLanguage(createLanguageServiceModel); @@ -68,9 +76,15 @@ namespace DevHive.Services.Tests Name = languageName }; - this._languageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - this._languageRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(language); + this._languageRepositoryMock + .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._languageRepositoryMock + .Setup(p => p.AddAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(language); Guid result = await this._languageService.CreateLanguage(createLanguageServiceModel); @@ -93,7 +107,9 @@ namespace DevHive.Services.Tests Name = languageName }; - this._languageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._languageRepositoryMock + .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); Exception ex = Assert.ThrowsAsync(() => this._languageService.CreateLanguage(createLanguageServiceModel)); @@ -116,8 +132,12 @@ namespace DevHive.Services.Tests Name = name }; - this._languageRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(language)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readLanguageServiceModel); + this._languageRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(language)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readLanguageServiceModel); ReadLanguageServiceModel result = await this._languageService.GetLanguageById(id); @@ -129,7 +149,9 @@ namespace DevHive.Services.Tests { string exceptionMessage = "The language does not exist"; Guid id = Guid.NewGuid(); - this._languageRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + this._languageRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(null)); Exception ex = Assert.ThrowsAsync(() => this._languageService.GetLanguageById(id)); @@ -147,8 +169,12 @@ namespace DevHive.Services.Tests languges.Add(firstLanguage); languges.Add(secondLanguage); - this._languageRepositoryMock.Setup(p => p.GetLanguages()).Returns(new HashSet()); - this._mapperMock.Setup(p => p.Map>(It.IsAny>())).Returns(languges); + this._languageRepositoryMock + .Setup(p => p.GetLanguages()) + .Returns(new HashSet()); + this._mapperMock + .Setup(p => p.Map>(It.IsAny>())) + .Returns(languges); HashSet result = this._languageService.GetLanguages(); @@ -158,8 +184,12 @@ namespace DevHive.Services.Tests [Test] public void GetLanguages_ReturnsEmptyHashSet_IfNoLanguagesExist() { - this._languageRepositoryMock.Setup(p => p.GetLanguages()).Returns(new HashSet()); - this._mapperMock.Setup(p => p.Map>(It.IsAny>())).Returns(new HashSet()); + this._languageRepositoryMock + .Setup(p => p.GetLanguages()) + .Returns(new HashSet()); + this._mapperMock + .Setup(p => p.Map>(It.IsAny>())) + .Returns(new HashSet()); HashSet result = this._languageService.GetLanguages(); @@ -185,10 +215,18 @@ namespace DevHive.Services.Tests Name = name, }; - this._languageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this._languageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - this._languageRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(shouldPass)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(language); + this._languageRepositoryMock + .Setup(p => p.DoesLanguageExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._languageRepositoryMock + .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._languageRepositoryMock + .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(shouldPass)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(language); bool result = await this._languageService.UpdateLanguage(updateLanguageServiceModel); @@ -203,7 +241,9 @@ namespace DevHive.Services.Tests { }; - this._languageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._languageRepositoryMock + .Setup(p => p.DoesLanguageExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this._languageService.UpdateLanguage(updateTechnologyServiceModel)); @@ -218,8 +258,12 @@ namespace DevHive.Services.Tests { }; - this._languageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this._languageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._languageRepositoryMock + .Setup(p => p.DoesLanguageExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._languageRepositoryMock + .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); Exception ex = Assert.ThrowsAsync(() => this._languageService.UpdateLanguage(updateTechnologyServiceModel)); @@ -236,9 +280,15 @@ namespace DevHive.Services.Tests Guid id = Guid.NewGuid(); Language language = new Language(); - this._languageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this._languageRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(language)); - this._languageRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); + this._languageRepositoryMock + .Setup(p => p.DoesLanguageExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._languageRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(language)); + this._languageRepositoryMock + .Setup(p => p.DeleteAsync(It.IsAny())) + .Returns(Task.FromResult(shouldPass)); bool result = await this._languageService.DeleteLanguage(id); @@ -251,7 +301,9 @@ namespace DevHive.Services.Tests string exceptionMessage = "Language does not exist!"; Guid id = Guid.NewGuid(); - this._languageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._languageRepositoryMock + .Setup(p => p.DoesLanguageExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this._languageService.DeleteLanguage(id)); diff --git a/src/Services/DevHive.Services.Tests/PostService.Tests.cs b/src/Services/DevHive.Services.Tests/PostService.Tests.cs index e51f250..5aea4a8 100644 --- a/src/Services/DevHive.Services.Tests/PostService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/PostService.Tests.cs @@ -53,11 +53,21 @@ namespace DevHive.Services.Tests Id = postId, }; - this._postRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); - this._postRepositoryMock.Setup(p => p.GetPostByCreatorAndTimeCreatedAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(post)); - this._userRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this._userRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(creator)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(post); + this._postRepositoryMock + .Setup(p => p.AddAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._postRepositoryMock + .Setup(p => p.GetPostByCreatorAndTimeCreatedAsync(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(post)); + this._userRepositoryMock + .Setup(p => p.DoesUserExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._userRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(creator)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(post); Guid result = await this._postService.CreatePost(createPostServiceModel); @@ -76,9 +86,15 @@ namespace DevHive.Services.Tests Message = MESSAGE, }; - this._postRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); - this._userRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(post); + this._postRepositoryMock + .Setup(p => p.AddAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._userRepositoryMock + .Setup(p => p.DoesUserExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(post); Guid result = await this._postService.CreatePost(createPostServiceModel); @@ -119,9 +135,15 @@ namespace DevHive.Services.Tests Id = creatorId, }; - this._postRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); - this._userRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readPostServiceModel); + this._postRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(post)); + this._userRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(user)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readPostServiceModel); ReadPostServiceModel result = await this._postService.GetPostById(Guid.NewGuid()); @@ -140,7 +162,9 @@ namespace DevHive.Services.Tests Creator = creator }; - this._postRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); + this._postRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(post)); Exception ex = Assert.ThrowsAsync(() => this._postService.GetPostById(Guid.NewGuid()), "GetPostById does not throw exception when the user does not exist"); @@ -157,8 +181,12 @@ namespace DevHive.Services.Tests Id = creatorId, }; - this._postRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); - this._userRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); + this._postRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(null)); + this._userRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(user)); Exception ex = Assert.ThrowsAsync(() => this._postService.GetPostById(Guid.NewGuid())); @@ -183,10 +211,18 @@ namespace DevHive.Services.Tests Files = new List() }; - this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - this._postRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - this._postRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(post); + this._postRepositoryMock + .Setup(p => p.DoesPostExist(It.IsAny())) + .Returns(Task.FromResult(true)); + this._postRepositoryMock + .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); + this._postRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(post)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(post); Guid result = await this._postService.UpdatePost(updatePostServiceModel); @@ -207,9 +243,15 @@ namespace DevHive.Services.Tests Files = new List() }; - this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - this._postRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(post); + this._postRepositoryMock + .Setup(p => p.DoesPostExist(It.IsAny())) + .Returns(Task.FromResult(true)); + this._postRepositoryMock + .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(false)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(post); Guid result = await this._postService.UpdatePost(updatePostServiceModel); @@ -224,7 +266,9 @@ namespace DevHive.Services.Tests { }; - this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(false)); + this._postRepositoryMock + .Setup(p => p.DoesPostExist(It.IsAny())) + .Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this._postService.UpdatePost(updatePostServiceModel)); @@ -241,9 +285,15 @@ namespace DevHive.Services.Tests Guid id = Guid.NewGuid(); Post post = new Post(); - this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - this._postRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); - this._postRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); + this._postRepositoryMock + .Setup(p => p.DoesPostExist(It.IsAny())) + .Returns(Task.FromResult(true)); + this._postRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(post)); + this._postRepositoryMock + .Setup(p => p.DeleteAsync(It.IsAny())) + .Returns(Task.FromResult(shouldPass)); bool result = await this._postService.DeletePost(id); @@ -256,7 +306,9 @@ namespace DevHive.Services.Tests string exceptionMessage = "Post does not exist!"; Guid id = Guid.NewGuid(); - this._postRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(false)); + this._postRepositoryMock + .Setup(p => p.DoesPostExist(It.IsAny())) + .Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this._postService.DeletePost(id)); diff --git a/src/Services/DevHive.Services.Tests/RoleService.Tests.cs b/src/Services/DevHive.Services.Tests/RoleService.Tests.cs index 6d5a333..4f1b1f6 100644 --- a/src/Services/DevHive.Services.Tests/RoleService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/RoleService.Tests.cs @@ -43,10 +43,18 @@ namespace DevHive.Services.Tests Id = id }; - this._roleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(false)); - this._roleRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); - this._roleRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny())).Returns(Task.FromResult(role)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(role); + this._roleRepositoryMock + .Setup(p => p.DoesNameExist(It.IsAny())) + .Returns(Task.FromResult(false)); + this._roleRepositoryMock + .Setup(p => p.AddAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._roleRepositoryMock + .Setup(p => p.GetByNameAsync(It.IsAny())) + .Returns(Task.FromResult(role)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(role); Guid result = await this._roleService.CreateRole(createRoleServiceModel); @@ -67,9 +75,15 @@ namespace DevHive.Services.Tests Name = roleName }; - this._roleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(false)); - this._roleRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(role); + this._roleRepositoryMock + .Setup(p => p.DoesNameExist(It.IsAny())) + .Returns(Task.FromResult(false)); + this._roleRepositoryMock + .Setup(p => p.AddAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(role); Guid result = await this._roleService.CreateRole(createRoleServiceModel); @@ -87,7 +101,9 @@ namespace DevHive.Services.Tests Name = roleName }; - this._roleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(true)); + this._roleRepositoryMock + .Setup(p => p.DoesNameExist(It.IsAny())) + .Returns(Task.FromResult(true)); Exception ex = Assert.ThrowsAsync(() => this._roleService.CreateRole(createRoleServiceModel)); @@ -110,8 +126,12 @@ namespace DevHive.Services.Tests Name = name }; - this._roleRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(role)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(roleServiceModel); + this._roleRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(role)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(roleServiceModel); RoleServiceModel result = await this._roleService.GetRoleById(id); @@ -123,7 +143,9 @@ namespace DevHive.Services.Tests { string exceptionMessage = "Role does not exist!"; Guid id = Guid.NewGuid(); - this._roleRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + this._roleRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(null)); Exception ex = Assert.ThrowsAsync(() => this._roleService.GetRoleById(id)); @@ -149,10 +171,18 @@ namespace DevHive.Services.Tests Name = name, }; - this._roleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(true)); - this._roleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(false)); - this._roleRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(shouldPass)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(role); + this._roleRepositoryMock + .Setup(p => p.DoesRoleExist(It.IsAny())) + .Returns(Task.FromResult(true)); + this._roleRepositoryMock + .Setup(p => p.DoesNameExist(It.IsAny())) + .Returns(Task.FromResult(false)); + this._roleRepositoryMock + .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(shouldPass)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(role); bool result = await this._roleService.UpdateRole(updateRoleServiceModel); @@ -167,7 +197,9 @@ namespace DevHive.Services.Tests { }; - this._roleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(false)); + this._roleRepositoryMock + .Setup(p => p.DoesRoleExist(It.IsAny())) + .Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this._roleService.UpdateRole(updateRoleServiceModel)); @@ -182,8 +214,12 @@ namespace DevHive.Services.Tests { }; - this._roleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(true)); - this._roleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny())).Returns(Task.FromResult(true)); + this._roleRepositoryMock + .Setup(p => p.DoesRoleExist(It.IsAny())) + .Returns(Task.FromResult(true)); + this._roleRepositoryMock + .Setup(p => p.DoesNameExist(It.IsAny())) + .Returns(Task.FromResult(true)); Exception ex = Assert.ThrowsAsync(() => this._roleService.UpdateRole(updateRoleServiceModel)); @@ -200,9 +236,15 @@ namespace DevHive.Services.Tests Guid id = Guid.NewGuid(); Role role = new Role(); - this._roleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(true)); - this._roleRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(role)); - this._roleRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); + this._roleRepositoryMock + .Setup(p => p.DoesRoleExist(It.IsAny())) + .Returns(Task.FromResult(true)); + this._roleRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(role)); + this._roleRepositoryMock + .Setup(p => p.DeleteAsync(It.IsAny())) + .Returns(Task.FromResult(shouldPass)); bool result = await this._roleService.DeleteRole(id); @@ -215,7 +257,9 @@ namespace DevHive.Services.Tests string exceptionMessage = "Role does not exist!"; Guid id = Guid.NewGuid(); - this._roleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny())).Returns(Task.FromResult(false)); + this._roleRepositoryMock + .Setup(p => p.DoesRoleExist(It.IsAny())) + .Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this._roleService.DeleteRole(id)); diff --git a/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs b/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs index 8cc78f1..6df26f1 100644 --- a/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs +++ b/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs @@ -44,10 +44,18 @@ namespace DevHive.Services.Tests Id = id }; - this._technologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - this._technologyRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); - this._technologyRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny())).Returns(Task.FromResult(technology)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(technology); + this._technologyRepositoryMock + .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._technologyRepositoryMock + .Setup(p => p.AddAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._technologyRepositoryMock + .Setup(p => p.GetByNameAsync(It.IsAny())) + .Returns(Task.FromResult(technology)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(technology); Guid result = await this._technologyService.CreateTechnology(createTechnologyServiceModel); @@ -68,9 +76,15 @@ namespace DevHive.Services.Tests Name = technologyName }; - this._technologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - this._technologyRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(technology); + this._technologyRepositoryMock + .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._technologyRepositoryMock + .Setup(p => p.AddAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(technology); Guid result = await this._technologyService.CreateTechnology(createTechnologyServiceModel); @@ -88,7 +102,9 @@ namespace DevHive.Services.Tests Name = technologyName }; - this._technologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._technologyRepositoryMock + .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); Exception ex = Assert.ThrowsAsync(() => this._technologyService.CreateTechnology(createTechnologyServiceModel)); @@ -111,8 +127,12 @@ namespace DevHive.Services.Tests Name = name }; - this._technologyRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(technology)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(readTechnologyServiceModel); + this._technologyRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(technology)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readTechnologyServiceModel); ReadTechnologyServiceModel result = await this._technologyService.GetTechnologyById(id); @@ -124,7 +144,9 @@ namespace DevHive.Services.Tests { string exceptionMessage = "The technology does not exist"; Guid id = Guid.NewGuid(); - this._technologyRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + this._technologyRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(null)); Exception ex = Assert.ThrowsAsync(() => this._technologyService.GetTechnologyById(id)); @@ -142,8 +164,12 @@ namespace DevHive.Services.Tests technologies.Add(firstTechnology); technologies.Add(secondTechnology); - this._technologyRepositoryMock.Setup(p => p.GetTechnologies()).Returns(new HashSet()); - this._mapperMock.Setup(p => p.Map>(It.IsAny>())).Returns(technologies); + this._technologyRepositoryMock + .Setup(p => p.GetTechnologies()) + .Returns(new HashSet()); + this._mapperMock + .Setup(p => p.Map>(It.IsAny>())) + .Returns(technologies); HashSet result = this._technologyService.GetTechnologies(); @@ -153,8 +179,12 @@ namespace DevHive.Services.Tests [Test] public void GetLanguages_ReturnsEmptyHashSet_IfNoLanguagesExist() { - this._technologyRepositoryMock.Setup(p => p.GetTechnologies()).Returns(new HashSet()); - this._mapperMock.Setup(p => p.Map>(It.IsAny>())).Returns(new HashSet()); + this._technologyRepositoryMock + .Setup(p => p.GetTechnologies()) + .Returns(new HashSet()); + this._mapperMock + .Setup(p => p.Map>(It.IsAny>())) + .Returns(new HashSet()); HashSet result = this._technologyService.GetTechnologies(); @@ -180,10 +210,18 @@ namespace DevHive.Services.Tests Name = name, }; - this._technologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this._technologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(false)); - this._technologyRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(shouldPass)); - this._mapperMock.Setup(p => p.Map(It.IsAny())).Returns(technology); + this._technologyRepositoryMock + .Setup(p => p.DoesTechnologyExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._technologyRepositoryMock + .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._technologyRepositoryMock + .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(shouldPass)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(technology); bool result = await this._technologyService.UpdateTechnology(updatetechnologyServiceModel); @@ -198,7 +236,9 @@ namespace DevHive.Services.Tests { }; - this._technologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._technologyRepositoryMock + .Setup(p => p.DoesTechnologyExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this._technologyService.UpdateTechnology(updateTechnologyServiceModel)); @@ -213,8 +253,12 @@ namespace DevHive.Services.Tests { }; - this._technologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this._technologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._technologyRepositoryMock + .Setup(p => p.DoesTechnologyExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._technologyRepositoryMock + .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); Exception ex = Assert.ThrowsAsync(() => this._technologyService.UpdateTechnology(updateTechnologyServiceModel)); @@ -232,9 +276,15 @@ namespace DevHive.Services.Tests Guid id = Guid.NewGuid(); Technology technology = new Technology(); - this._technologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(true)); - this._technologyRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(technology)); - this._technologyRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(shouldPass)); + this._technologyRepositoryMock + .Setup(p => p.DoesTechnologyExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._technologyRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(technology)); + this._technologyRepositoryMock + .Setup(p => p.DeleteAsync(It.IsAny())) + .Returns(Task.FromResult(shouldPass)); bool result = await this._technologyService.DeleteTechnology(id); @@ -247,7 +297,9 @@ namespace DevHive.Services.Tests string exceptionMessage = "Technology does not exist!"; Guid id = Guid.NewGuid(); - this._technologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._technologyRepositoryMock + .Setup(p => p.DoesTechnologyExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this._technologyService.DeleteTechnology(id)); diff --git a/src/Services/DevHive.Services.Tests/UserService.Tests.cs b/src/Services/DevHive.Services.Tests/UserService.Tests.cs index 58ee223..809e83b 100644 --- a/src/Services/DevHive.Services.Tests/UserService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/UserService.Tests.cs @@ -65,18 +65,20 @@ namespace DevHive.Services.Tests UserName = "g_trapov" }; - this._userRepositoryMock.Setup(p => - p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); - this._userRepositoryMock.Setup(p => - p.VerifyPassword(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); - this._userRepositoryMock.Setup(p => - p.GetByUsernameAsync(It.IsAny())) - .Returns(Task.FromResult(user)); + this._userRepositoryMock + .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._userRepositoryMock + .Setup(p => p.VerifyPassword(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); + this._userRepositoryMock + .Setup(p => p.GetByUsernameAsync(It.IsAny())) + .Returns(Task.FromResult(user)); string jwtSecurityToken = "akjdhfakndvlahdfkljahdlfkjhasldf"; - this._jwtServiceMock.Setup(p => p.GenerateJwtToken(It.IsAny(), It.IsAny(), It.IsAny>())).Returns(jwtSecurityToken); + this._jwtServiceMock + .Setup(p => p.GenerateJwtToken(It.IsAny(), It.IsAny(), It.IsAny>())) + .Returns(jwtSecurityToken); TokenModel tokenModel = await this._userService.LoginUser(loginServiceModel); Assert.AreEqual(jwtSecurityToken, tokenModel.Token, "LoginUser does not return the correct token"); @@ -87,9 +89,9 @@ namespace DevHive.Services.Tests { LoginServiceModel loginServiceModel = new(); - this._userRepositoryMock.Setup(p => - p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + this._userRepositoryMock + .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync( () => this._userService.LoginUser(loginServiceModel)); @@ -111,12 +113,12 @@ namespace DevHive.Services.Tests Id = Guid.NewGuid(), }; - this._userRepositoryMock.Setup(p => - p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); - this._userRepositoryMock.Setup(p => - p.GetByUsernameAsync(It.IsAny())) - .Returns(Task.FromResult(user)); + this._userRepositoryMock + .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._userRepositoryMock + .Setup(p => p.GetByUsernameAsync(It.IsAny())) + .Returns(Task.FromResult(user)); Exception ex = Assert.ThrowsAsync(() => this._userService.LoginUser(loginServiceModel)); @@ -140,38 +142,40 @@ namespace DevHive.Services.Tests }; Role role = new() { Name = Role.DefaultRole }; - this._userRepositoryMock.Setup(p => - p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); - this._userRepositoryMock.Setup(p => - p.VerifyPassword(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); - this._userRepositoryMock.Setup(p => - p.DoesEmailExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); - this._userRepositoryMock.Setup(p => - p.AddAsync(It.IsAny())) - .ReturnsAsync(true); - this._userRepositoryMock.Setup(p => - p.AddRoleToUser(It.IsAny(), It.IsAny())) - .ReturnsAsync(true); - this._userRepositoryMock.Setup(p => - p.GetByUsernameAsync(It.IsAny())) - .ReturnsAsync(user); - - this._roleRepositoryMock.Setup(p => - p.DoesNameExist(It.IsAny())) - .Returns(Task.FromResult(true)); - this._roleRepositoryMock.Setup(p => - p.GetByNameAsync(It.IsAny())) - .Returns(Task.FromResult(role)); - - this._mapperMock.Setup(p => - p.Map(It.IsAny())) - .Returns(user); + this._userRepositoryMock + .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._userRepositoryMock + .Setup(p => p.VerifyPassword(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(true)); + this._userRepositoryMock + .Setup(p => p.DoesEmailExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._userRepositoryMock + .Setup(p => p.AddAsync(It.IsAny())) + .ReturnsAsync(true); + this._userRepositoryMock + .Setup(p => p.AddRoleToUser(It.IsAny(), It.IsAny())) + .ReturnsAsync(true); + this._userRepositoryMock + .Setup(p => p.GetByUsernameAsync(It.IsAny())) + .ReturnsAsync(user); + + this._roleRepositoryMock + .Setup(p => p.DoesNameExist(It.IsAny())) + .Returns(Task.FromResult(true)); + this._roleRepositoryMock + .Setup(p => p.GetByNameAsync(It.IsAny())) + .Returns(Task.FromResult(role)); + + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(user); string jwtSecurityToken = "akjdhfakndvlahdfkljahdlfkjhasldf"; - this._jwtServiceMock.Setup(p => p.GenerateJwtToken(It.IsAny(), It.IsAny(), It.IsAny>())).Returns(jwtSecurityToken); + this._jwtServiceMock + .Setup(p => p.GenerateJwtToken(It.IsAny(), It.IsAny(), It.IsAny>())) + .Returns(jwtSecurityToken); TokenModel tokenModel = await this._userService.RegisterUser(registerServiceModel); Assert.AreEqual(jwtSecurityToken, tokenModel.Token, "RegisterUser does not return the correct token"); @@ -183,9 +187,9 @@ namespace DevHive.Services.Tests const string EXCEPTION_MESSAGE = "Username already exists!"; RegisterServiceModel registerServiceModel = new(); - this._userRepositoryMock.Setup(p => - p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + this._userRepositoryMock + .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); Exception ex = Assert.ThrowsAsync( () => this._userService.RegisterUser(registerServiceModel)); @@ -198,12 +202,12 @@ namespace DevHive.Services.Tests { RegisterServiceModel registerServiceModel = new(); - this._userRepositoryMock.Setup(p => - p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); - this._userRepositoryMock.Setup(p => - p.DoesEmailExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + this._userRepositoryMock + .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); + this._userRepositoryMock + .Setup(p => p.DoesEmailExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); Exception ex = Assert.ThrowsAsync(() => this._userService.RegisterUser(registerServiceModel)); @@ -223,12 +227,12 @@ namespace DevHive.Services.Tests UserName = username }; - this._userRepositoryMock.Setup(p => - p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(user)); - this._mapperMock.Setup(p => - p.Map(It.IsAny())) - .Returns(userServiceModel); + this._userRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(user)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(userServiceModel); UserServiceModel result = await this._userService.GetUserById(id); @@ -239,9 +243,9 @@ namespace DevHive.Services.Tests public void GetTechnologyById_ThrowsException_WhenTechnologyDoesNotExist() { Guid id = new(); - this._userRepositoryMock.Setup(p => - p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(null)); + this._userRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(null)); Exception ex = Assert.ThrowsAsync(() => this._userService.GetUserById(id)); @@ -260,12 +264,12 @@ namespace DevHive.Services.Tests UserName = username }; - this._userRepositoryMock.Setup(p => - p.GetByUsernameAsync(It.IsAny())) - .Returns(Task.FromResult(user)); - this._mapperMock.Setup(p => - p.Map(It.IsAny())) - .Returns(userServiceModel); + this._userRepositoryMock + .Setup(p => p.GetByUsernameAsync(It.IsAny())) + .Returns(Task.FromResult(user)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(userServiceModel); UserServiceModel result = await this._userService.GetUserByUsername(username); @@ -277,9 +281,9 @@ namespace DevHive.Services.Tests { string username = "g_trapov"; - this._userRepositoryMock.Setup(p => - p.GetByUsernameAsync(It.IsAny())) - .Returns(Task.FromResult(null)); + this._userRepositoryMock + .Setup(p => p.GetByUsernameAsync(It.IsAny())) + .Returns(Task.FromResult(null)); Exception ex = Assert.ThrowsAsync(() => this._userService.GetUserByUsername(username)); @@ -353,9 +357,9 @@ namespace DevHive.Services.Tests { UpdateUserServiceModel updateUserServiceModel = new(); - this._userRepositoryMock.Setup(p => - p.DoesUserExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + this._userRepositoryMock + .Setup(p => p.DoesUserExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this._userService.UpdateUser(updateUserServiceModel)); @@ -367,12 +371,12 @@ namespace DevHive.Services.Tests { UpdateUserServiceModel updateUserServiceModel = new(); - this._userRepositoryMock.Setup(p => - p.DoesUserExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); - this._userRepositoryMock.Setup(p => - p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + this._userRepositoryMock + .Setup(p => p.DoesUserExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); + this._userRepositoryMock + .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) + .Returns(Task.FromResult(true)); Exception ex = Assert.ThrowsAsync(() => this._userService.UpdateUser(updateUserServiceModel)); @@ -411,9 +415,9 @@ namespace DevHive.Services.Tests string exceptionMessage = "User does not exist!"; Guid id = new(); - this._userRepositoryMock.Setup(p => - p.DoesUserExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + this._userRepositoryMock + .Setup(p => p.DoesUserExistAsync(It.IsAny())) + .Returns(Task.FromResult(false)); Exception ex = Assert.ThrowsAsync(() => this._userService.DeleteUser(id)); -- cgit v1.2.3 From e24ae7d4f9567ee0d3fdb1dd596ee2e85094c676 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 14 Mar 2021 11:44:45 +0200 Subject: Removed all discards from Data layer tests --- src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs | 8 ++++---- src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs | 2 +- src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs | 4 ++-- src/Data/DevHive.Data.Tests/PostRepository.Tests.cs | 10 +++++----- src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs | 6 +++--- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs b/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs index 1e5390b..0aa22bc 100644 --- a/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs @@ -29,7 +29,7 @@ namespace DevHive.Data.Tests [TearDown] public void TearDown() { - _ = this._context.Database.EnsureDeleted(); + this._context.Database.EnsureDeleted(); } #endregion @@ -47,7 +47,7 @@ namespace DevHive.Data.Tests [Test] public async Task GetPostByCreatorAndTimeCreatedAsync_ReturnsNull_IfThePostDoesNotExist() { - _ = await this.AddEntity(); + await this.AddEntity(); Comment resultComment = await this._commentRepository.GetCommentByIssuerAndTimeCreatedAsync(Guid.Empty, DateTime.Now); @@ -87,8 +87,8 @@ namespace DevHive.Data.Tests TimeCreated = DateTime.Now }; - _ = this._context.Comments.Add(comment); - _ = await this._context.SaveChangesAsync(); + this._context.Comments.Add(comment); + await this._context.SaveChangesAsync(); return comment; } diff --git a/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs b/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs index 24fcb51..f54e89d 100644 --- a/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs @@ -29,7 +29,7 @@ namespace DevHive.Data.Tests [TearDown] public void TearDown() { - _ = this._context.Database.EnsureDeleted(); + this._context.Database.EnsureDeleted(); } #endregion diff --git a/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs b/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs index b7bb2e3..3bb9400 100644 --- a/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs @@ -30,7 +30,7 @@ namespace DevHive.Data.Tests [TearDown] public void TearDown() { - _ = this._context.Database.EnsureDeleted(); + this._context.Database.EnsureDeleted(); } #endregion @@ -109,7 +109,7 @@ namespace DevHive.Data.Tests Name = name }; - _ = await this._languageRepository.AddAsync(language); + await this._languageRepository.AddAsync(language); } #endregion } diff --git a/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs b/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs index 374befd..005769f 100644 --- a/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs @@ -36,7 +36,7 @@ namespace DevHive.Data.Tests [TearDown] public void TearDown() { - _ = this._context.Database.EnsureDeleted(); + this._context.Database.EnsureDeleted(); } #endregion @@ -89,7 +89,7 @@ namespace DevHive.Data.Tests [Test] public async Task GetPostByCreatorAndTimeCreatedAsync_ReturnsNull_IfThePostDoesNotExist() { - _ = await this.AddEntity(); + await this.AddEntity(); Post resutPost = await this._postRepository.GetPostByCreatorAndTimeCreatedAsync(Guid.Empty, DateTime.Now); @@ -121,7 +121,7 @@ namespace DevHive.Data.Tests private async Task AddEntity() { User creator = new() { Id = Guid.NewGuid() }; - _ = await this._context.Users.AddAsync(creator); + await this._context.Users.AddAsync(creator); Post post = new() { Message = POST_MESSAGE, @@ -132,8 +132,8 @@ namespace DevHive.Data.Tests Comments = new List() }; - _ = await this._context.Posts.AddAsync(post); - _ = await this._context.SaveChangesAsync(); + await this._context.Posts.AddAsync(post); + await this._context.SaveChangesAsync(); return post; } diff --git a/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs b/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs index c12a38e..d268777 100644 --- a/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs @@ -30,7 +30,7 @@ namespace DevHive.Data.Tests [TearDown] public void TearDown() { - _ = this._context.Database.EnsureDeleted(); + this._context.Database.EnsureDeleted(); } #endregion @@ -108,8 +108,8 @@ namespace DevHive.Data.Tests Name = name }; - _ = this._context.Technologies.Add(technology); - _ = await this._context.SaveChangesAsync(); + this._context.Technologies.Add(technology); + await this._context.SaveChangesAsync(); } #endregion } -- cgit v1.2.3 From dec1f686cdd1bdd2b1b9a2fe0925369624f46aba Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 14 Mar 2021 11:54:47 +0200 Subject: Made all Returns(Task.FromResult) into ReturnsAsync in Web layer tests --- .../DevHive.Web.Tests/CommentController.Tests.cs | 33 ++++++++++---------- src/Web/DevHive.Web.Tests/FeedController.Tests.cs | 4 +-- .../DevHive.Web.Tests/LanguageController.Tests.cs | 17 +++++------ src/Web/DevHive.Web.Tests/PostController.Tests.cs | 35 +++++++++++----------- src/Web/DevHive.Web.Tests/RoleController.Tests.cs | 17 +++++------ .../TechnologyController.Tests.cs | 17 +++++------ src/Web/DevHive.Web.Tests/UserController.Tests.cs | 17 +++++------ 7 files changed, 67 insertions(+), 73 deletions(-) diff --git a/src/Web/DevHive.Web.Tests/CommentController.Tests.cs b/src/Web/DevHive.Web.Tests/CommentController.Tests.cs index 4e1715c..830677e 100644 --- a/src/Web/DevHive.Web.Tests/CommentController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/CommentController.Tests.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using System.Threading.Tasks; using AutoMapper; using DevHive.Common.Jwt.Interfaces; using DevHive.Services.Interfaces; @@ -52,13 +51,13 @@ namespace DevHive.Web.Tests .Returns(createCommentServiceModel); this._commentServiceMock .Setup(p => p.AddComment(It.IsAny())) - .Returns(Task.FromResult(id)); + .ReturnsAsync(id); this._jwtServiceMock .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) .Returns(true); this._commentServiceMock .Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; @@ -94,13 +93,13 @@ namespace DevHive.Web.Tests .Returns(createCommentServiceModel); this._commentServiceMock .Setup(p => p.AddComment(It.IsAny())) - .Returns(Task.FromResult(Guid.Empty)); + .ReturnsAsync(Guid.Empty); this._jwtServiceMock .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) .Returns(true); this._commentServiceMock .Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; @@ -125,7 +124,7 @@ namespace DevHive.Web.Tests .Returns(true); this._commentServiceMock .Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; @@ -152,7 +151,7 @@ namespace DevHive.Web.Tests .Returns(true); this._commentServiceMock .Setup(p => p.GetCommentById(It.IsAny())) - .Returns(Task.FromResult(readCommentServiceModel)); + .ReturnsAsync(readCommentServiceModel); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(readCommentWebModel); @@ -184,13 +183,13 @@ namespace DevHive.Web.Tests this._commentServiceMock .Setup(p => p.UpdateComment(It.IsAny())) - .Returns(Task.FromResult(id)); + .ReturnsAsync(id); this._jwtServiceMock .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) .Returns(true); this._commentServiceMock .Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(updateCommentServiceModel); @@ -221,13 +220,13 @@ namespace DevHive.Web.Tests this._commentServiceMock .Setup(p => p.UpdateComment(It.IsAny())) - .Returns(Task.FromResult(Guid.Empty)); + .ReturnsAsync(Guid.Empty); this._jwtServiceMock .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) .Returns(true); this._commentServiceMock .Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(updateCommentServiceModel); @@ -252,7 +251,7 @@ namespace DevHive.Web.Tests this._jwtServiceMock .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) .Returns(false); - // this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + // this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())).ReturnsAsync(false)); IActionResult result = this._commentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; @@ -268,13 +267,13 @@ namespace DevHive.Web.Tests this._commentServiceMock .Setup(p => p.DeleteComment(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._jwtServiceMock .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) .Returns(true); this._commentServiceMock .Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._commentController.DeleteComment(id, null).Result; @@ -289,13 +288,13 @@ namespace DevHive.Web.Tests this._commentServiceMock .Setup(p => p.DeleteComment(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._jwtServiceMock .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) .Returns(true); this._commentServiceMock .Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._commentController.DeleteComment(id, null).Result; @@ -315,7 +314,7 @@ namespace DevHive.Web.Tests .Returns(true); this._commentServiceMock .Setup(p => p.ValidateJwtForComment(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); IActionResult result = this._commentController.DeleteComment(Guid.Empty, null).Result; diff --git a/src/Web/DevHive.Web.Tests/FeedController.Tests.cs b/src/Web/DevHive.Web.Tests/FeedController.Tests.cs index 7a7fd8d..3af2b48 100644 --- a/src/Web/DevHive.Web.Tests/FeedController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/FeedController.Tests.cs @@ -50,7 +50,7 @@ namespace DevHive.Web.Tests this._feedServiceMock .Setup(p => p.GetPage(It.IsAny())) - .Returns(Task.FromResult(readPageServiceModel)); + .ReturnsAsync(readPageServiceModel); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(getPageServiceModel); @@ -88,7 +88,7 @@ namespace DevHive.Web.Tests this._feedServiceMock .Setup(p => p.GetUserPage(It.IsAny())) - .Returns(Task.FromResult(readPageServiceModel)); + .ReturnsAsync(readPageServiceModel); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(getPageServiceModel); diff --git a/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs b/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs index de882fc..34f1fc5 100644 --- a/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using System.Threading.Tasks; using AutoMapper; using DevHive.Services.Interfaces; using DevHive.Services.Models.Language; @@ -12,7 +11,7 @@ using NUnit.Framework; namespace DevHive.Web.Tests { - [TestFixture] + [TestFixture] public class LanguageControllerTests { const string NAME = "Gosho Trapov"; @@ -47,7 +46,7 @@ namespace DevHive.Web.Tests .Returns(createLanguageServiceModel); this._languageServiceMock .Setup(p => p.CreateLanguage(It.IsAny())) - .Returns(Task.FromResult(id)); + .ReturnsAsync(id); IActionResult result = this._languageController.Create(createLanguageWebModel).Result; @@ -83,7 +82,7 @@ namespace DevHive.Web.Tests .Returns(createTechnologyServiceModel); this._languageServiceMock .Setup(p => p.CreateLanguage(It.IsAny())) - .Returns(Task.FromResult(id)); + .ReturnsAsync(id); IActionResult result = this._languageController.Create(createTechnologyWebModel).Result; @@ -113,7 +112,7 @@ namespace DevHive.Web.Tests this._languageServiceMock .Setup(p => p.GetLanguageById(It.IsAny())) - .Returns(Task.FromResult(readLanguageServiceModel)); + .ReturnsAsync(readLanguageServiceModel); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(readLanguageWebModel); @@ -145,7 +144,7 @@ namespace DevHive.Web.Tests this._languageServiceMock .Setup(p => p.UpdateLanguage(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(updateLanguageServiceModel); @@ -171,7 +170,7 @@ namespace DevHive.Web.Tests this._languageServiceMock .Setup(p => p.UpdateLanguage(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(updateLanguageServiceModel); @@ -194,7 +193,7 @@ namespace DevHive.Web.Tests this._languageServiceMock .Setup(p => p.DeleteLanguage(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._languageController.Delete(id).Result; @@ -209,7 +208,7 @@ namespace DevHive.Web.Tests this._languageServiceMock .Setup(p => p.DeleteLanguage(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); IActionResult result = this._languageController.Delete(id).Result; diff --git a/src/Web/DevHive.Web.Tests/PostController.Tests.cs b/src/Web/DevHive.Web.Tests/PostController.Tests.cs index 384a92a..93cce1d 100644 --- a/src/Web/DevHive.Web.Tests/PostController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/PostController.Tests.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using System.Threading.Tasks; using AutoMapper; using DevHive.Common.Jwt.Interfaces; using DevHive.Services.Interfaces; @@ -13,7 +12,7 @@ using NUnit.Framework; namespace DevHive.Web.Tests { - [TestFixture] + [TestFixture] public class PostControllerTests { const string MESSAGE = "Gosho Trapov"; @@ -50,13 +49,13 @@ namespace DevHive.Web.Tests .Returns(createPostServiceModel); this._postServiceMock .Setup(p => p.CreatePost(It.IsAny())) - .Returns(Task.FromResult(id)); + .ReturnsAsync(id); this._jwtServiceMock .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) .Returns(true); this._postServiceMock .Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._postController.Create(Guid.Empty, createPostWebModel, null).Result; @@ -92,13 +91,13 @@ namespace DevHive.Web.Tests .Returns(createTechnologyServiceModel); this._postServiceMock .Setup(p => p.CreatePost(It.IsAny())) - .Returns(Task.FromResult(id)); + .ReturnsAsync(id); this._jwtServiceMock .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) .Returns(true); this._postServiceMock .Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._postController.Create(Guid.Empty, createTechnologyWebModel, null).Result; @@ -120,7 +119,7 @@ namespace DevHive.Web.Tests this._postServiceMock .Setup(p => p.ValidateJwtForCreating(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); IActionResult result = this._postController.Create(Guid.NewGuid(), createPostWebModel, null).Result; @@ -145,7 +144,7 @@ namespace DevHive.Web.Tests this._postServiceMock .Setup(p => p.GetPostById(It.IsAny())) - .Returns(Task.FromResult(readPostServiceModel)); + .ReturnsAsync(readPostServiceModel); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(readPostWebModel); @@ -177,7 +176,7 @@ namespace DevHive.Web.Tests this._postServiceMock .Setup(p => p.UpdatePost(It.IsAny())) - .Returns(Task.FromResult(id)); + .ReturnsAsync(id); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(updatePostServiceModel); @@ -186,7 +185,7 @@ namespace DevHive.Web.Tests .Returns(true); this._postServiceMock .Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._postController.Update(id, updatePostWebModel, null).Result; @@ -209,7 +208,7 @@ namespace DevHive.Web.Tests this._postServiceMock .Setup(p => p.UpdatePost(It.IsAny())) - .Returns(Task.FromResult(Guid.Empty)); + .ReturnsAsync(Guid.Empty); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(updatePostServiceModel); @@ -218,7 +217,7 @@ namespace DevHive.Web.Tests .Returns(true); this._postServiceMock .Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._postController.Update(id, updatePostWebModel, null).Result; Assert.IsInstanceOf(result); @@ -239,7 +238,7 @@ namespace DevHive.Web.Tests this._postServiceMock .Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); IActionResult result = this._postController.Update(Guid.Empty, updatePostWebModel, null).Result; @@ -255,13 +254,13 @@ namespace DevHive.Web.Tests this._postServiceMock .Setup(p => p.DeletePost(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._jwtServiceMock .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) .Returns(true); this._postServiceMock .Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._postController.Delete(id, null).Result; @@ -276,13 +275,13 @@ namespace DevHive.Web.Tests this._postServiceMock .Setup(p => p.DeletePost(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._jwtServiceMock .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) .Returns(true); this._postServiceMock .Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._postController.Delete(id, null).Result; @@ -299,7 +298,7 @@ namespace DevHive.Web.Tests { this._postServiceMock .Setup(p => p.ValidateJwtForPost(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); IActionResult result = this._postController.Delete(Guid.Empty, null).Result; diff --git a/src/Web/DevHive.Web.Tests/RoleController.Tests.cs b/src/Web/DevHive.Web.Tests/RoleController.Tests.cs index 0f835c1..0e19221 100644 --- a/src/Web/DevHive.Web.Tests/RoleController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/RoleController.Tests.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using System.Threading.Tasks; using AutoMapper; using DevHive.Services.Interfaces; using DevHive.Services.Models.Role; @@ -12,7 +11,7 @@ using NUnit.Framework; namespace DevHive.Web.Tests { - [TestFixture] + [TestFixture] public class RoleControllerTests { const string NAME = "Gosho Trapov"; @@ -47,7 +46,7 @@ namespace DevHive.Web.Tests .Returns(createRoleServiceModel); this._roleServiceMock .Setup(p => p.CreateRole(It.IsAny())) - .Returns(Task.FromResult(id)); + .ReturnsAsync(id); IActionResult result = this._roleController.Create(createRoleWebModel).Result; @@ -83,7 +82,7 @@ namespace DevHive.Web.Tests .Returns(createTechnologyServiceModel); this._roleServiceMock .Setup(p => p.CreateRole(It.IsAny())) - .Returns(Task.FromResult(id)); + .ReturnsAsync(id); IActionResult result = this._roleController.Create(createTechnologyWebModel).Result; @@ -113,7 +112,7 @@ namespace DevHive.Web.Tests this._roleServiceMock .Setup(p => p.GetRoleById(It.IsAny())) - .Returns(Task.FromResult(roleServiceModel)); + .ReturnsAsync(roleServiceModel); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(roleWebModel); @@ -145,7 +144,7 @@ namespace DevHive.Web.Tests this._roleServiceMock .Setup(p => p.UpdateRole(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(updateRoleServiceModel); @@ -171,7 +170,7 @@ namespace DevHive.Web.Tests this._roleServiceMock .Setup(p => p.UpdateRole(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(updateRoleServiceModel); @@ -194,7 +193,7 @@ namespace DevHive.Web.Tests this._roleServiceMock .Setup(p => p.DeleteRole(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._roleController.Delete(id).Result; @@ -209,7 +208,7 @@ namespace DevHive.Web.Tests this._roleServiceMock .Setup(p => p.DeleteRole(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); IActionResult result = this._roleController.Delete(id).Result; diff --git a/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs b/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs index 76d291d..06e1ea2 100644 --- a/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs @@ -8,11 +8,10 @@ using Moq; using NUnit.Framework; using System; using System.Linq; -using System.Threading.Tasks; namespace DevHive.Web.Tests { - [TestFixture] + [TestFixture] public class TechnologyControllerTests { const string NAME = "Gosho Trapov"; @@ -49,7 +48,7 @@ namespace DevHive.Web.Tests .Returns(createTechnologyServiceModel); this._technologyServiceMock .Setup(p => p.CreateTechnology(It.IsAny())) - .Returns(Task.FromResult(id)); + .ReturnsAsync(id); IActionResult result = this._technologyController.Create(createTechnologyWebModel).Result; @@ -85,7 +84,7 @@ namespace DevHive.Web.Tests .Returns(createTechnologyServiceModel); this._technologyServiceMock .Setup(p => p.CreateTechnology(It.IsAny())) - .Returns(Task.FromResult(id)); + .ReturnsAsync(id); IActionResult result = this._technologyController.Create(createTechnologyWebModel).Result; @@ -115,7 +114,7 @@ namespace DevHive.Web.Tests this._technologyServiceMock .Setup(p => p.GetTechnologyById(It.IsAny())) - .Returns(Task.FromResult(readTechnologyServiceModel)); + .ReturnsAsync(readTechnologyServiceModel); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(readTechnologyWebModel); @@ -147,7 +146,7 @@ namespace DevHive.Web.Tests this._technologyServiceMock .Setup(p => p.UpdateTechnology(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(updateTechnologyServiceModel); @@ -173,7 +172,7 @@ namespace DevHive.Web.Tests this._technologyServiceMock .Setup(p => p.UpdateTechnology(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(updateTechnologyServiceModel); @@ -196,7 +195,7 @@ namespace DevHive.Web.Tests this._technologyServiceMock .Setup(p => p.DeleteTechnology(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._technologyController.Delete(id).Result; @@ -211,7 +210,7 @@ namespace DevHive.Web.Tests this._technologyServiceMock .Setup(p => p.DeleteTechnology(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); IActionResult result = this._technologyController.Delete(id).Result; diff --git a/src/Web/DevHive.Web.Tests/UserController.Tests.cs b/src/Web/DevHive.Web.Tests/UserController.Tests.cs index ad7bdd9..10d3c6b 100644 --- a/src/Web/DevHive.Web.Tests/UserController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/UserController.Tests.cs @@ -1,5 +1,4 @@ using System; -using System.Threading.Tasks; using AutoMapper; using DevHive.Common.Jwt.Interfaces; using DevHive.Common.Models.Identity; @@ -13,7 +12,7 @@ using NUnit.Framework; namespace DevHive.Web.Tests { - [TestFixture] + [TestFixture] public class UserControllerTests { const string USERNAME = "Gosho Trapov"; @@ -55,7 +54,7 @@ namespace DevHive.Web.Tests .Returns(tokenWebModel); this._userServiceMock .Setup(p => p.LoginUser(It.IsAny())) - .Returns(Task.FromResult(tokenModel)); + .ReturnsAsync(tokenModel); IActionResult result = this._userController.Login(loginWebModel).Result; @@ -89,7 +88,7 @@ namespace DevHive.Web.Tests .Returns(tokenWebModel); this._userServiceMock .Setup(p => p.RegisterUser(It.IsAny())) - .Returns(Task.FromResult(tokenModel)); + .ReturnsAsync(tokenModel); IActionResult result = this._userController.Register(registerWebModel).Result; @@ -119,7 +118,7 @@ namespace DevHive.Web.Tests this._userServiceMock .Setup(p => p.GetUserById(It.IsAny())) - .Returns(Task.FromResult(userServiceModel)); + .ReturnsAsync(userServiceModel); this._jwtServiceMock .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) .Returns(true); @@ -163,7 +162,7 @@ namespace DevHive.Web.Tests this._userServiceMock .Setup(p => p.GetUserByUsername(It.IsAny())) - .Returns(Task.FromResult(userServiceModel)); + .ReturnsAsync(userServiceModel); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(userWebModel); @@ -199,7 +198,7 @@ namespace DevHive.Web.Tests this._userServiceMock .Setup(p => p.UpdateUser(It.IsAny())) - .Returns(Task.FromResult(userServiceModel)); + .ReturnsAsync(userServiceModel); this._jwtServiceMock .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) .Returns(true); @@ -224,7 +223,7 @@ namespace DevHive.Web.Tests .Returns(true); this._userServiceMock .Setup(p => p.DeleteUser(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); IActionResult result = this._userController.Delete(id, null).Result; @@ -242,7 +241,7 @@ namespace DevHive.Web.Tests .Returns(true); this._userServiceMock .Setup(p => p.DeleteUser(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); IActionResult result = this._userController.Delete(id, null).Result; -- cgit v1.2.3 From 10ac1adbf9fbeaca116d3fd356f85dd64c8c2bf8 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 14 Mar 2021 12:02:14 +0200 Subject: Made all Returns(Task.FromResult) into ReturnsAsync in Service layer tests --- .../DevHive.Services.Tests/CommentService.Tests.cs | 40 ++++++++-------- .../LanguageService.Tests.cs | 34 ++++++------- .../DevHive.Services.Tests/PostService.Tests.cs | 40 ++++++++-------- .../DevHive.Services.Tests/RoleService.Tests.cs | 34 ++++++------- .../TechnologyServices.Tests.cs | 34 ++++++------- .../DevHive.Services.Tests/UserService.Tests.cs | 56 +++++++++++----------- 6 files changed, 119 insertions(+), 119 deletions(-) diff --git a/src/Services/DevHive.Services.Tests/CommentService.Tests.cs b/src/Services/DevHive.Services.Tests/CommentService.Tests.cs index 729e943..3d58bc6 100644 --- a/src/Services/DevHive.Services.Tests/CommentService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/CommentService.Tests.cs @@ -50,16 +50,16 @@ namespace DevHive.Services.Tests this._commentRepositoryMock .Setup(p => p.AddAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._commentRepositoryMock .Setup(p => p.GetCommentByIssuerAndTimeCreatedAsync(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(comment)); + .ReturnsAsync(comment); this._postRepositoryMock .Setup(p => p.DoesPostExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._userRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(creator)); + .ReturnsAsync(creator); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(comment); @@ -83,10 +83,10 @@ namespace DevHive.Services.Tests this._commentRepositoryMock .Setup(p => p.AddAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._postRepositoryMock .Setup(p => p.DoesPostExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(comment); @@ -134,10 +134,10 @@ namespace DevHive.Services.Tests this._commentRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(comment)); + .ReturnsAsync(comment); this._userRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(user)); + .ReturnsAsync(user); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(commentServiceModel); @@ -161,7 +161,7 @@ namespace DevHive.Services.Tests this._commentRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(comment)); + .ReturnsAsync(comment); Exception ex = Assert.ThrowsAsync(() => this._commentService.GetCommentById(Guid.NewGuid()), "GetCommentById does not throw exception when the user does not exist"); @@ -183,7 +183,7 @@ namespace DevHive.Services.Tests .Returns(Task.FromResult(null)); this._userRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(user)); + .ReturnsAsync(user); Exception ex = Assert.ThrowsAsync(() => this._commentService.GetCommentById(Guid.NewGuid())); @@ -209,13 +209,13 @@ namespace DevHive.Services.Tests this._commentRepositoryMock .Setup(p => p.DoesCommentExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._commentRepositoryMock .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._commentRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(comment)); + .ReturnsAsync(comment); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(comment); @@ -240,10 +240,10 @@ namespace DevHive.Services.Tests this._commentRepositoryMock .Setup(p => p.DoesCommentExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._commentRepositoryMock .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(comment); @@ -263,7 +263,7 @@ namespace DevHive.Services.Tests this._commentRepositoryMock .Setup(p => p.DoesCommentExist(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); Exception ex = Assert.ThrowsAsync(() => this._commentService.UpdateComment(updateCommentServiceModel)); @@ -282,13 +282,13 @@ namespace DevHive.Services.Tests this._commentRepositoryMock .Setup(p => p.DoesCommentExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._commentRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(comment)); + .ReturnsAsync(comment); this._commentRepositoryMock .Setup(p => p.DeleteAsync(It.IsAny())) - .Returns(Task.FromResult(shouldPass)); + .ReturnsAsync(shouldPass); bool result = await this._commentService.DeleteComment(id); @@ -303,7 +303,7 @@ namespace DevHive.Services.Tests this._commentRepositoryMock .Setup(p => p.DoesCommentExist(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); Exception ex = Assert.ThrowsAsync(() => this._commentService.DeleteComment(id)); diff --git a/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs b/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs index c1f4d54..c95c38e 100644 --- a/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs @@ -46,13 +46,13 @@ namespace DevHive.Services.Tests this._languageRepositoryMock .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._languageRepositoryMock .Setup(p => p.AddAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._languageRepositoryMock .Setup(p => p.GetByNameAsync(It.IsAny())) - .Returns(Task.FromResult(language)); + .ReturnsAsync(language); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(language); @@ -78,10 +78,10 @@ namespace DevHive.Services.Tests this._languageRepositoryMock .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._languageRepositoryMock .Setup(p => p.AddAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(language); @@ -109,7 +109,7 @@ namespace DevHive.Services.Tests this._languageRepositoryMock .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); Exception ex = Assert.ThrowsAsync(() => this._languageService.CreateLanguage(createLanguageServiceModel)); @@ -134,7 +134,7 @@ namespace DevHive.Services.Tests this._languageRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(language)); + .ReturnsAsync(language); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(readLanguageServiceModel); @@ -217,13 +217,13 @@ namespace DevHive.Services.Tests this._languageRepositoryMock .Setup(p => p.DoesLanguageExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._languageRepositoryMock .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._languageRepositoryMock .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(shouldPass)); + .ReturnsAsync(shouldPass); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(language); @@ -243,7 +243,7 @@ namespace DevHive.Services.Tests this._languageRepositoryMock .Setup(p => p.DoesLanguageExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); Exception ex = Assert.ThrowsAsync(() => this._languageService.UpdateLanguage(updateTechnologyServiceModel)); @@ -260,10 +260,10 @@ namespace DevHive.Services.Tests this._languageRepositoryMock .Setup(p => p.DoesLanguageExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._languageRepositoryMock .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); Exception ex = Assert.ThrowsAsync(() => this._languageService.UpdateLanguage(updateTechnologyServiceModel)); @@ -282,13 +282,13 @@ namespace DevHive.Services.Tests this._languageRepositoryMock .Setup(p => p.DoesLanguageExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._languageRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(language)); + .ReturnsAsync(language); this._languageRepositoryMock .Setup(p => p.DeleteAsync(It.IsAny())) - .Returns(Task.FromResult(shouldPass)); + .ReturnsAsync(shouldPass); bool result = await this._languageService.DeleteLanguage(id); @@ -303,7 +303,7 @@ namespace DevHive.Services.Tests this._languageRepositoryMock .Setup(p => p.DoesLanguageExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); Exception ex = Assert.ThrowsAsync(() => this._languageService.DeleteLanguage(id)); diff --git a/src/Services/DevHive.Services.Tests/PostService.Tests.cs b/src/Services/DevHive.Services.Tests/PostService.Tests.cs index 5aea4a8..058485e 100644 --- a/src/Services/DevHive.Services.Tests/PostService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/PostService.Tests.cs @@ -55,16 +55,16 @@ namespace DevHive.Services.Tests this._postRepositoryMock .Setup(p => p.AddAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._postRepositoryMock .Setup(p => p.GetPostByCreatorAndTimeCreatedAsync(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(post)); + .ReturnsAsync(post); this._userRepositoryMock .Setup(p => p.DoesUserExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._userRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(creator)); + .ReturnsAsync(creator); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(post); @@ -88,10 +88,10 @@ namespace DevHive.Services.Tests this._postRepositoryMock .Setup(p => p.AddAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._userRepositoryMock .Setup(p => p.DoesUserExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(post); @@ -137,10 +137,10 @@ namespace DevHive.Services.Tests this._postRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(post)); + .ReturnsAsync(post); this._userRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(user)); + .ReturnsAsync(user); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(readPostServiceModel); @@ -164,7 +164,7 @@ namespace DevHive.Services.Tests this._postRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(post)); + .ReturnsAsync(post); Exception ex = Assert.ThrowsAsync(() => this._postService.GetPostById(Guid.NewGuid()), "GetPostById does not throw exception when the user does not exist"); @@ -186,7 +186,7 @@ namespace DevHive.Services.Tests .Returns(Task.FromResult(null)); this._userRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(user)); + .ReturnsAsync(user); Exception ex = Assert.ThrowsAsync(() => this._postService.GetPostById(Guid.NewGuid())); @@ -213,13 +213,13 @@ namespace DevHive.Services.Tests this._postRepositoryMock .Setup(p => p.DoesPostExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._postRepositoryMock .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._postRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(post)); + .ReturnsAsync(post); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(post); @@ -245,10 +245,10 @@ namespace DevHive.Services.Tests this._postRepositoryMock .Setup(p => p.DoesPostExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._postRepositoryMock .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(post); @@ -268,7 +268,7 @@ namespace DevHive.Services.Tests this._postRepositoryMock .Setup(p => p.DoesPostExist(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); Exception ex = Assert.ThrowsAsync(() => this._postService.UpdatePost(updatePostServiceModel)); @@ -287,13 +287,13 @@ namespace DevHive.Services.Tests this._postRepositoryMock .Setup(p => p.DoesPostExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._postRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(post)); + .ReturnsAsync(post); this._postRepositoryMock .Setup(p => p.DeleteAsync(It.IsAny())) - .Returns(Task.FromResult(shouldPass)); + .ReturnsAsync(shouldPass); bool result = await this._postService.DeletePost(id); @@ -308,7 +308,7 @@ namespace DevHive.Services.Tests this._postRepositoryMock .Setup(p => p.DoesPostExist(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); Exception ex = Assert.ThrowsAsync(() => this._postService.DeletePost(id)); diff --git a/src/Services/DevHive.Services.Tests/RoleService.Tests.cs b/src/Services/DevHive.Services.Tests/RoleService.Tests.cs index 4f1b1f6..83dabf9 100644 --- a/src/Services/DevHive.Services.Tests/RoleService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/RoleService.Tests.cs @@ -45,13 +45,13 @@ namespace DevHive.Services.Tests this._roleRepositoryMock .Setup(p => p.DoesNameExist(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._roleRepositoryMock .Setup(p => p.AddAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._roleRepositoryMock .Setup(p => p.GetByNameAsync(It.IsAny())) - .Returns(Task.FromResult(role)); + .ReturnsAsync(role); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(role); @@ -77,10 +77,10 @@ namespace DevHive.Services.Tests this._roleRepositoryMock .Setup(p => p.DoesNameExist(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._roleRepositoryMock .Setup(p => p.AddAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(role); @@ -103,7 +103,7 @@ namespace DevHive.Services.Tests this._roleRepositoryMock .Setup(p => p.DoesNameExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); Exception ex = Assert.ThrowsAsync(() => this._roleService.CreateRole(createRoleServiceModel)); @@ -128,7 +128,7 @@ namespace DevHive.Services.Tests this._roleRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(role)); + .ReturnsAsync(role); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(roleServiceModel); @@ -173,13 +173,13 @@ namespace DevHive.Services.Tests this._roleRepositoryMock .Setup(p => p.DoesRoleExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._roleRepositoryMock .Setup(p => p.DoesNameExist(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._roleRepositoryMock .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(shouldPass)); + .ReturnsAsync(shouldPass); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(role); @@ -199,7 +199,7 @@ namespace DevHive.Services.Tests this._roleRepositoryMock .Setup(p => p.DoesRoleExist(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); Exception ex = Assert.ThrowsAsync(() => this._roleService.UpdateRole(updateRoleServiceModel)); @@ -216,10 +216,10 @@ namespace DevHive.Services.Tests this._roleRepositoryMock .Setup(p => p.DoesRoleExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._roleRepositoryMock .Setup(p => p.DoesNameExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); Exception ex = Assert.ThrowsAsync(() => this._roleService.UpdateRole(updateRoleServiceModel)); @@ -238,13 +238,13 @@ namespace DevHive.Services.Tests this._roleRepositoryMock .Setup(p => p.DoesRoleExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._roleRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(role)); + .ReturnsAsync(role); this._roleRepositoryMock .Setup(p => p.DeleteAsync(It.IsAny())) - .Returns(Task.FromResult(shouldPass)); + .ReturnsAsync(shouldPass); bool result = await this._roleService.DeleteRole(id); @@ -259,7 +259,7 @@ namespace DevHive.Services.Tests this._roleRepositoryMock .Setup(p => p.DoesRoleExist(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); Exception ex = Assert.ThrowsAsync(() => this._roleService.DeleteRole(id)); diff --git a/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs b/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs index 6df26f1..f9c599c 100644 --- a/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs +++ b/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs @@ -46,13 +46,13 @@ namespace DevHive.Services.Tests this._technologyRepositoryMock .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._technologyRepositoryMock .Setup(p => p.AddAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._technologyRepositoryMock .Setup(p => p.GetByNameAsync(It.IsAny())) - .Returns(Task.FromResult(technology)); + .ReturnsAsync(technology); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(technology); @@ -78,10 +78,10 @@ namespace DevHive.Services.Tests this._technologyRepositoryMock .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._technologyRepositoryMock .Setup(p => p.AddAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(technology); @@ -104,7 +104,7 @@ namespace DevHive.Services.Tests this._technologyRepositoryMock .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); Exception ex = Assert.ThrowsAsync(() => this._technologyService.CreateTechnology(createTechnologyServiceModel)); @@ -129,7 +129,7 @@ namespace DevHive.Services.Tests this._technologyRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(technology)); + .ReturnsAsync(technology); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(readTechnologyServiceModel); @@ -212,13 +212,13 @@ namespace DevHive.Services.Tests this._technologyRepositoryMock .Setup(p => p.DoesTechnologyExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._technologyRepositoryMock .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._technologyRepositoryMock .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(shouldPass)); + .ReturnsAsync(shouldPass); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(technology); @@ -238,7 +238,7 @@ namespace DevHive.Services.Tests this._technologyRepositoryMock .Setup(p => p.DoesTechnologyExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); Exception ex = Assert.ThrowsAsync(() => this._technologyService.UpdateTechnology(updateTechnologyServiceModel)); @@ -255,10 +255,10 @@ namespace DevHive.Services.Tests this._technologyRepositoryMock .Setup(p => p.DoesTechnologyExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._technologyRepositoryMock .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); Exception ex = Assert.ThrowsAsync(() => this._technologyService.UpdateTechnology(updateTechnologyServiceModel)); @@ -278,13 +278,13 @@ namespace DevHive.Services.Tests this._technologyRepositoryMock .Setup(p => p.DoesTechnologyExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._technologyRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(technology)); + .ReturnsAsync(technology); this._technologyRepositoryMock .Setup(p => p.DeleteAsync(It.IsAny())) - .Returns(Task.FromResult(shouldPass)); + .ReturnsAsync(shouldPass); bool result = await this._technologyService.DeleteTechnology(id); @@ -299,7 +299,7 @@ namespace DevHive.Services.Tests this._technologyRepositoryMock .Setup(p => p.DoesTechnologyExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); Exception ex = Assert.ThrowsAsync(() => this._technologyService.DeleteTechnology(id)); diff --git a/src/Services/DevHive.Services.Tests/UserService.Tests.cs b/src/Services/DevHive.Services.Tests/UserService.Tests.cs index 809e83b..7990b32 100644 --- a/src/Services/DevHive.Services.Tests/UserService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/UserService.Tests.cs @@ -67,13 +67,13 @@ namespace DevHive.Services.Tests this._userRepositoryMock .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._userRepositoryMock .Setup(p => p.VerifyPassword(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._userRepositoryMock .Setup(p => p.GetByUsernameAsync(It.IsAny())) - .Returns(Task.FromResult(user)); + .ReturnsAsync(user); string jwtSecurityToken = "akjdhfakndvlahdfkljahdlfkjhasldf"; this._jwtServiceMock @@ -91,7 +91,7 @@ namespace DevHive.Services.Tests this._userRepositoryMock .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); Exception ex = Assert.ThrowsAsync( () => this._userService.LoginUser(loginServiceModel)); @@ -115,10 +115,10 @@ namespace DevHive.Services.Tests this._userRepositoryMock .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._userRepositoryMock .Setup(p => p.GetByUsernameAsync(It.IsAny())) - .Returns(Task.FromResult(user)); + .ReturnsAsync(user); Exception ex = Assert.ThrowsAsync(() => this._userService.LoginUser(loginServiceModel)); @@ -144,13 +144,13 @@ namespace DevHive.Services.Tests this._userRepositoryMock .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._userRepositoryMock .Setup(p => p.VerifyPassword(It.IsAny(), It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._userRepositoryMock .Setup(p => p.DoesEmailExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._userRepositoryMock .Setup(p => p.AddAsync(It.IsAny())) .ReturnsAsync(true); @@ -163,10 +163,10 @@ namespace DevHive.Services.Tests this._roleRepositoryMock .Setup(p => p.DoesNameExist(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._roleRepositoryMock .Setup(p => p.GetByNameAsync(It.IsAny())) - .Returns(Task.FromResult(role)); + .ReturnsAsync(role); this._mapperMock .Setup(p => p.Map(It.IsAny())) @@ -189,7 +189,7 @@ namespace DevHive.Services.Tests this._userRepositoryMock .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); Exception ex = Assert.ThrowsAsync( () => this._userService.RegisterUser(registerServiceModel)); @@ -204,10 +204,10 @@ namespace DevHive.Services.Tests this._userRepositoryMock .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); this._userRepositoryMock .Setup(p => p.DoesEmailExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); Exception ex = Assert.ThrowsAsync(() => this._userService.RegisterUser(registerServiceModel)); @@ -229,7 +229,7 @@ namespace DevHive.Services.Tests this._userRepositoryMock .Setup(p => p.GetByIdAsync(It.IsAny())) - .Returns(Task.FromResult(user)); + .ReturnsAsync(user); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(userServiceModel); @@ -266,7 +266,7 @@ namespace DevHive.Services.Tests this._userRepositoryMock .Setup(p => p.GetByUsernameAsync(It.IsAny())) - .Returns(Task.FromResult(user)); + .ReturnsAsync(user); this._mapperMock .Setup(p => p.Map(It.IsAny())) .Returns(userServiceModel); @@ -316,19 +316,19 @@ namespace DevHive.Services.Tests // // this._userRepositoryMock.Setup(p => // p.DoesUserExistAsync(It.IsAny())) - // .Returns(Task.FromResult(true)); + // .ReturnsAsync(true); // this._userRepositoryMock.Setup(p => // p.DoesUsernameExistAsync(It.IsAny())) - // .Returns(Task.FromResult(false)); + // .ReturnsAsync(false); // this._userRepositoryMock.Setup(p => // p.DoesUserHaveThisUsernameAsync(It.IsAny(), It.IsAny())) // .Returns(true); // this._userRepositoryMock.Setup(p => // p.EditAsync(It.IsAny(), It.IsAny())) - // .Returns(Task.FromResult(shouldPass)); + // .ReturnsAsync(shouldPass); // this._userRepositoryMock.Setup(p => // p.GetByIdAsync(It.IsAny())) - // .Returns(Task.FromResult(user)); + // .ReturnsAsync(user); // this._mapperMock.Setup(p => // p.Map(It.IsAny())) // .Returns(user); @@ -346,7 +346,7 @@ namespace DevHive.Services.Tests // { // const string EXCEPTION_MESSAGE = "Unable to edit user!"; // - // Exception ex = Assert.ThrowsAsync(() => this._userService.UpdateUser(updateUserServiceModel)); + // Exception ex = Assert.ThrowsAsync(() => this._userService.UpdateUser(updateUserServiceModel); // // Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorrect exception message"); // } @@ -359,7 +359,7 @@ namespace DevHive.Services.Tests this._userRepositoryMock .Setup(p => p.DoesUserExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); Exception ex = Assert.ThrowsAsync(() => this._userService.UpdateUser(updateUserServiceModel)); @@ -373,10 +373,10 @@ namespace DevHive.Services.Tests this._userRepositoryMock .Setup(p => p.DoesUserExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); this._userRepositoryMock .Setup(p => p.DoesUsernameExistAsync(It.IsAny())) - .Returns(Task.FromResult(true)); + .ReturnsAsync(true); Exception ex = Assert.ThrowsAsync(() => this._userService.UpdateUser(updateUserServiceModel)); @@ -396,13 +396,13 @@ namespace DevHive.Services.Tests // // this._userRepositoryMock.Setup(p => // p.DoesUserExistAsync(It.IsAny())) - // .Returns(Task.FromResult(true)); + // .ReturnsAsync(true); // this._userRepositoryMock.Setup(p => // p.GetByIdAsync(It.IsAny())) - // .Returns(Task.FromResult(user)); + // .ReturnsAsync(user); // this._userRepositoryMock.Setup(p => // p.DeleteAsync(It.IsAny())) - // .Returns(Task.FromResult(shouldPass)); + // .ReturnsAsync(shouldPass); // // bool result = await this._userService.DeleteUser(id); // @@ -417,7 +417,7 @@ namespace DevHive.Services.Tests this._userRepositoryMock .Setup(p => p.DoesUserExistAsync(It.IsAny())) - .Returns(Task.FromResult(false)); + .ReturnsAsync(false); Exception ex = Assert.ThrowsAsync(() => this._userService.DeleteUser(id)); -- cgit v1.2.3 From e68181d5452f8e2c553c1eb36e689bab1ae080e3 Mon Sep 17 00:00:00 2001 From: Danail Dimitrov Date: Sun, 14 Mar 2021 21:16:53 +0200 Subject: added documentaion for rating repository --- .../DevHive.Data/Repositories/RatingRepository.cs | 22 ++++++++++++++++++++++ src/Web/DevHive.Web/Startup.cs | 1 - 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/Data/DevHive.Data/Repositories/RatingRepository.cs b/src/Data/DevHive.Data/Repositories/RatingRepository.cs index 1784144..e4a5d5d 100644 --- a/src/Data/DevHive.Data/Repositories/RatingRepository.cs +++ b/src/Data/DevHive.Data/Repositories/RatingRepository.cs @@ -27,6 +27,11 @@ namespace DevHive.Data.Repositories .Include(x => x.Post) .FirstOrDefaultAsync(x => x.Id == id); } + /// + /// Gets all the ratings for a psot. + /// + /// Id of the post. + /// public async Task> GetRatingsByPostId(Guid postId) { return await this._context.Rating @@ -34,12 +39,24 @@ namespace DevHive.Data.Repositories .Include(x => x.Post) .Where(x => x.Post.Id == postId).ToListAsync(); } + /// + /// Checks if a user rated a given post. + /// + /// Id of the user. + /// Id of the psot. + /// True if the user has already rated the post and false if he hasn't. public async Task UserRatedPost(Guid userId, Guid postId) { return await this._context.Rating .Where(x => x.Post.Id == postId) .AnyAsync(x => x.User.Id == userId); } + /// + /// Gets a rating by the post to which the rating corresponds and the user who created it. + /// + /// Id of the user. + /// Id of the post. + /// Rating for the given post by the given user. public async Task GetRatingByUserAndPostId(Guid userId, Guid postId) { return await this._context.Rating @@ -48,6 +65,11 @@ namespace DevHive.Data.Repositories .FirstOrDefaultAsync(x => x.Post.Id == postId && x.User.Id == userId); } + /// + /// Checks if a given rating already exist + /// + /// Id of the rating + /// True if the rating exists and false if it does not. public async Task DoesRatingExist(Guid id) { return await this._context.Rating diff --git a/src/Web/DevHive.Web/Startup.cs b/src/Web/DevHive.Web/Startup.cs index 40f674d..1c714ec 100644 --- a/src/Web/DevHive.Web/Startup.cs +++ b/src/Web/DevHive.Web/Startup.cs @@ -5,7 +5,6 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using DevHive.Web.Configurations.Extensions; using Newtonsoft.Json; -using System.Threading.Tasks; namespace DevHive.Web { -- cgit v1.2.3 From c1643bba84258276708ecc5338f4942e70ef6e4e Mon Sep 17 00:00:00 2001 From: Danail Dimitrov Date: Sun, 14 Mar 2021 21:21:26 +0200 Subject: minor ajustments to rating repository documentation --- src/Data/DevHive.Data/Repositories/RatingRepository.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Data/DevHive.Data/Repositories/RatingRepository.cs b/src/Data/DevHive.Data/Repositories/RatingRepository.cs index e4a5d5d..c35f6d5 100644 --- a/src/Data/DevHive.Data/Repositories/RatingRepository.cs +++ b/src/Data/DevHive.Data/Repositories/RatingRepository.cs @@ -40,7 +40,7 @@ namespace DevHive.Data.Repositories .Where(x => x.Post.Id == postId).ToListAsync(); } /// - /// Checks if a user rated a given post. + /// Checks if a user rated a given post. In DevHive every user has one or no rating for every post. /// /// Id of the user. /// Id of the psot. -- cgit v1.2.3 From 76f71bb8cab45922f3e4999253a1567a0e4af3db Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 14 Mar 2021 21:39:37 +0200 Subject: Updated rating tests to follow our current code style standards --- .../DevHive.Data.Tests/RatingRepository.Tests.cs | 46 ++--- .../DevHive.Services.Tests/RatingService.Tests.cs | 210 ++++++++++++++------- .../DevHive.Web.Tests/RatingController.Tests.cs | 118 ++++++++---- 3 files changed, 247 insertions(+), 127 deletions(-) diff --git a/src/Data/DevHive.Data.Tests/RatingRepository.Tests.cs b/src/Data/DevHive.Data.Tests/RatingRepository.Tests.cs index 17616fe..2da90d9 100644 --- a/src/Data/DevHive.Data.Tests/RatingRepository.Tests.cs +++ b/src/Data/DevHive.Data.Tests/RatingRepository.Tests.cs @@ -12,8 +12,8 @@ namespace DevHive.Data.Tests [TestFixture] public class RatingRepositoryTests { - private DevHiveContext Context { get; set; } - private RatingRepository RatingRepository { get; set; } + private DevHiveContext _context; + private RatingRepository _ratingRepository; #region Setups [SetUp] @@ -22,14 +22,14 @@ namespace DevHive.Data.Tests var optionsBuilder = new DbContextOptionsBuilder() .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); - this.Context = new DevHiveContext(optionsBuilder.Options); - this.RatingRepository = new RatingRepository(this.Context, null); + this._context = new DevHiveContext(optionsBuilder.Options); + this._ratingRepository = new RatingRepository(this._context, null); } [TearDown] public void TearDown() { - this.Context.Database.EnsureDeleted(); + this._context.Database.EnsureDeleted(); } #endregion @@ -40,7 +40,7 @@ namespace DevHive.Data.Tests Guid ratingId = Guid.NewGuid(); await AddDummyRating(ratingId); - Rating ratingResult = await this.RatingRepository.GetByIdAsync(ratingId); + Rating ratingResult = await this._ratingRepository.GetByIdAsync(ratingId); Assert.AreEqual(ratingResult.Id, ratingId); } @@ -48,7 +48,7 @@ namespace DevHive.Data.Tests [Test] public async Task GetByIdAsync_ReturnsNull_IfRatingDoesNotExist() { - Rating ratingResult = await this.RatingRepository.GetByIdAsync(Guid.NewGuid()); + Rating ratingResult = await this._ratingRepository.GetByIdAsync(Guid.NewGuid()); Assert.IsNull(ratingResult); } @@ -63,7 +63,7 @@ namespace DevHive.Data.Tests await AddDummyRating(Guid.NewGuid(), postId); await AddDummyRating(Guid.NewGuid(), postId); - List result = await this.RatingRepository.GetRatingsByPostId(postId); + List result = await this._ratingRepository.GetRatingsByPostId(postId); Assert.IsNotEmpty(result); } @@ -71,7 +71,7 @@ namespace DevHive.Data.Tests [Test] public async Task GetRatingsByPostId_ReturnsEmptyList_WhenThereAreNoRatings() { - List result = await this.RatingRepository.GetRatingsByPostId(Guid.NewGuid()); + List result = await this._ratingRepository.GetRatingsByPostId(Guid.NewGuid()); Assert.IsEmpty(result); } @@ -88,7 +88,7 @@ namespace DevHive.Data.Tests await AddDummyUser(userId); await AddDummyRating(ratingId, postId, userId); - Rating result = await this.RatingRepository.GetRatingByUserAndPostId(userId, postId); + Rating result = await this._ratingRepository.GetRatingByUserAndPostId(userId, postId); Assert.AreEqual(result.Id, ratingId); } @@ -96,7 +96,7 @@ namespace DevHive.Data.Tests [Test] public async Task GetRatingByUserAndPostId_ReturnsNull_WhenRatingDoesNotExist() { - Rating result = await this.RatingRepository.GetRatingByUserAndPostId(Guid.NewGuid(), Guid.NewGuid()); + Rating result = await this._ratingRepository.GetRatingByUserAndPostId(Guid.NewGuid(), Guid.NewGuid()); Assert.IsNull(result); } @@ -112,7 +112,7 @@ namespace DevHive.Data.Tests await AddDummyUser(userId); await AddDummyRating(Guid.NewGuid(), postId, userId); - bool result = await this.RatingRepository.UserRatedPost(userId, postId); + bool result = await this._ratingRepository.UserRatedPost(userId, postId); Assert.IsTrue(result); } @@ -120,7 +120,7 @@ namespace DevHive.Data.Tests [Test] public async Task UserRatedPost_ReturnsFalse_WhenUserHasNotRatedPost() { - bool result = await this.RatingRepository.UserRatedPost(Guid.NewGuid(), Guid.NewGuid()); + bool result = await this._ratingRepository.UserRatedPost(Guid.NewGuid(), Guid.NewGuid()); Assert.IsFalse(result); } @@ -133,7 +133,7 @@ namespace DevHive.Data.Tests Guid ratingId = Guid.NewGuid(); await AddDummyRating(ratingId); - bool result = await this.RatingRepository.DoesRatingExist(ratingId); + bool result = await this._ratingRepository.DoesRatingExist(ratingId); Assert.IsTrue(result); } @@ -141,7 +141,7 @@ namespace DevHive.Data.Tests [Test] public async Task DoesRatingExist_ReturnsFalse_WhenRatingDoesNotExist() { - bool result = await this.RatingRepository.DoesRatingExist(Guid.NewGuid()); + bool result = await this._ratingRepository.DoesRatingExist(Guid.NewGuid()); Assert.IsFalse(result); } @@ -153,12 +153,12 @@ namespace DevHive.Data.Tests Rating rating = new Rating { Id = ratingId, - Post = this.Context.Posts.FirstOrDefault(x => x.Id == postId), - User = this.Context.Users.FirstOrDefault(x => x.Id == userId) + Post = this._context.Posts.FirstOrDefault(x => x.Id == postId), + User = this._context.Users.FirstOrDefault(x => x.Id == userId) }; - await this.Context.Rating.AddAsync(rating); - await this.Context.SaveChangesAsync(); + await this._context.Rating.AddAsync(rating); + await this._context.SaveChangesAsync(); } private async Task AddDummyPost(Guid postId) @@ -169,8 +169,8 @@ namespace DevHive.Data.Tests Message = "Never gonna give you up" }; - await this.Context.Posts.AddAsync(post); - await this.Context.SaveChangesAsync(); + await this._context.Posts.AddAsync(post); + await this._context.SaveChangesAsync(); } private async Task AddDummyUser(Guid userId) @@ -180,8 +180,8 @@ namespace DevHive.Data.Tests Id = userId }; - await this.Context.Users.AddAsync(user); - await this.Context.SaveChangesAsync(); + await this._context.Users.AddAsync(user); + await this._context.SaveChangesAsync(); } #endregion } diff --git a/src/Services/DevHive.Services.Tests/RatingService.Tests.cs b/src/Services/DevHive.Services.Tests/RatingService.Tests.cs index 89c1a2e..5f84530 100644 --- a/src/Services/DevHive.Services.Tests/RatingService.Tests.cs +++ b/src/Services/DevHive.Services.Tests/RatingService.Tests.cs @@ -13,21 +13,21 @@ namespace DevHive.Services.Tests [TestFixture] public class RatingServiceTests { - private Mock PostRepositoryMock { get; set; } - private Mock RatingRepositoryMock { get; set; } - private Mock UserRepositoryMock { get; set; } - private Mock MapperMock { get; set; } - private RatingService RatingService { get; set; } + private Mock _postRepositoryMock; + private Mock _ratingRepositoryMock; + private Mock _userRepositoryMock; + private Mock _mapperMock; + private RatingService _ratingService; #region SetUps [SetUp] public void SetUp() { - this.PostRepositoryMock = new Mock(); - this.RatingRepositoryMock = new Mock(); - this.UserRepositoryMock = new Mock(); - this.MapperMock = new Mock(); - this.RatingService = new RatingService(this.PostRepositoryMock.Object, this.RatingRepositoryMock.Object, this.UserRepositoryMock.Object, this.MapperMock.Object); + this._postRepositoryMock = new Mock(); + this._ratingRepositoryMock = new Mock(); + this._userRepositoryMock = new Mock(); + this._mapperMock = new Mock(); + this._ratingService = new RatingService(this._postRepositoryMock.Object, this._ratingRepositoryMock.Object, this._userRepositoryMock.Object, this._mapperMock.Object); } #endregion @@ -59,15 +59,29 @@ namespace DevHive.Services.Tests Id = postId }; - this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - this.RatingRepositoryMock.Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); - this.RatingRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(true)); - this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(rating)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(rating); - - Guid result = await this.RatingService.RatePost(createRatingServiceModel); + this._postRepositoryMock + .Setup(p => p.DoesPostExist(It.IsAny())) + .ReturnsAsync(true); + this._ratingRepositoryMock + .Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())) + .ReturnsAsync(false); + this._userRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .ReturnsAsync(user); + this._postRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .ReturnsAsync(post); + this._ratingRepositoryMock + .Setup(p => p.AddAsync(It.IsAny())) + .ReturnsAsync(true); + this._ratingRepositoryMock + .Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())) + .ReturnsAsync(rating); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(rating); + + Guid result = await this._ratingService.RatePost(createRatingServiceModel); Assert.AreEqual(id, result); } @@ -99,14 +113,26 @@ namespace DevHive.Services.Tests Id = postId }; - this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny())).Returns(Task.FromResult(true)); - this.RatingRepositoryMock.Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(post)); - this.RatingRepositoryMock.Setup(p => p.AddAsync(It.IsAny())).Returns(Task.FromResult(false)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(rating); - - Guid result = await this.RatingService.RatePost(createRatingServiceModel); + this._postRepositoryMock + .Setup(p => p.DoesPostExist(It.IsAny())) + .ReturnsAsync(true); + this._ratingRepositoryMock + .Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())) + .ReturnsAsync(false); + this._userRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .ReturnsAsync(user); + this._postRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .ReturnsAsync(post); + this._ratingRepositoryMock + .Setup(p => p.AddAsync(It.IsAny())) + .ReturnsAsync(false); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(rating); + + Guid result = await this._ratingService.RatePost(createRatingServiceModel); Assert.AreEqual(result, Guid.Empty); } @@ -134,10 +160,14 @@ namespace DevHive.Services.Tests IsLike = isLike }; - this.RatingRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(rating)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readRatingServiceModel); + this._ratingRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .ReturnsAsync(rating); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readRatingServiceModel); - ReadRatingServiceModel result = await this.RatingService.GetRatingById(id); + ReadRatingServiceModel result = await this._ratingService.GetRatingById(id); Assert.AreEqual(isLike, result.IsLike); } @@ -146,9 +176,11 @@ namespace DevHive.Services.Tests public void GetRatingById_ThrowsException_WhenRatingDoesNotExist() { string exceptionMessage = "The rating does not exist"; - this.RatingRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); + this._ratingRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(null)); - Exception ex = Assert.ThrowsAsync(() => this.RatingService.GetRatingById(Guid.Empty)); + Exception ex = Assert.ThrowsAsync(() => this._ratingService.GetRatingById(Guid.Empty)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -174,10 +206,14 @@ namespace DevHive.Services.Tests IsLike = isLike }; - this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(rating)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readRatingServiceModel); + this._ratingRepositoryMock + .Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())) + .ReturnsAsync(rating); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readRatingServiceModel); - ReadRatingServiceModel result = await this.RatingService.GetRatingByPostAndUser(user.Id, Guid.Empty); + ReadRatingServiceModel result = await this._ratingService.GetRatingByPostAndUser(user.Id, Guid.Empty); Assert.AreEqual(isLike, result.IsLike); } @@ -186,9 +222,11 @@ namespace DevHive.Services.Tests public void GetRatingByPostAndUser_ThrowsException_WhenRatingDoesNotExist() { string exceptionMessage = "The rating does not exist"; - this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(null)); + this._ratingRepositoryMock + .Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(null)); - Exception ex = Assert.ThrowsAsync(() => this.RatingService.GetRatingById(Guid.Empty)); + Exception ex = Assert.ThrowsAsync(() => this._ratingService.GetRatingById(Guid.Empty)); Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message"); } @@ -221,13 +259,23 @@ namespace DevHive.Services.Tests IsLike = isLike }; - this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(rating)); - this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - this.RatingRepositoryMock.Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - this.RatingRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readRatingServiceModel); - - ReadRatingServiceModel result = await this.RatingService.UpdateRating(updateRatingServiceModel); + this._ratingRepositoryMock + .Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())) + .ReturnsAsync(rating); + this._userRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .ReturnsAsync(user); + this._ratingRepositoryMock + .Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())) + .ReturnsAsync(true); + this._ratingRepositoryMock + .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) + .ReturnsAsync(true); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readRatingServiceModel); + + ReadRatingServiceModel result = await this._ratingService.UpdateRating(updateRatingServiceModel); Assert.AreEqual(result, readRatingServiceModel); } @@ -258,12 +306,20 @@ namespace DevHive.Services.Tests IsLike = isLike }; - this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(rating)); - this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - this.RatingRepositoryMock.Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(true)); - this.RatingRepositoryMock.Setup(p => p.EditAsync(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); - - ReadRatingServiceModel result = await this.RatingService.UpdateRating(updateRatingServiceModel); + this._ratingRepositoryMock + .Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())) + .ReturnsAsync(rating); + this._userRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .ReturnsAsync(user); + this._ratingRepositoryMock + .Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())) + .ReturnsAsync(true); + this._ratingRepositoryMock + .Setup(p => p.EditAsync(It.IsAny(), It.IsAny())) + .ReturnsAsync(false); + + ReadRatingServiceModel result = await this._ratingService.UpdateRating(updateRatingServiceModel); Assert.IsNull(result); } @@ -278,9 +334,11 @@ namespace DevHive.Services.Tests IsLike = true }; - this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(null)); + this._ratingRepositoryMock + .Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())) + .Returns(Task.FromResult(null)); - Exception ex = Assert.ThrowsAsync(() => this.RatingService.UpdateRating(updateRatingServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._ratingService.UpdateRating(updateRatingServiceModel)); Assert.AreEqual(ex.Message, exceptionMessage); } @@ -307,11 +365,17 @@ namespace DevHive.Services.Tests User = user }; - this.RatingRepositoryMock.Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())).Returns(Task.FromResult(rating)); - this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(user)); - this.RatingRepositoryMock.Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())).Returns(Task.FromResult(false)); + this._ratingRepositoryMock + .Setup(p => p.GetRatingByUserAndPostId(It.IsAny(), It.IsAny())) + .ReturnsAsync(rating); + this._userRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .ReturnsAsync(user); + this._ratingRepositoryMock + .Setup(p => p.UserRatedPost(It.IsAny(), It.IsAny())) + .ReturnsAsync(false); - Exception ex = Assert.ThrowsAsync(() => this.RatingService.UpdateRating(updateRatingServiceModel)); + Exception ex = Assert.ThrowsAsync(() => this._ratingService.UpdateRating(updateRatingServiceModel)); Assert.AreEqual(ex.Message, exceptionMessage); } @@ -327,11 +391,17 @@ namespace DevHive.Services.Tests Id = ratingId }; - this.RatingRepositoryMock.Setup(p => p.DoesRatingExist(It.IsAny())).Returns(Task.FromResult(true)); - this.RatingRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); - this.RatingRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(true)); + this._ratingRepositoryMock + .Setup(p => p.DoesRatingExist(It.IsAny())) + .ReturnsAsync(true); + this._ratingRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(null)); + this._ratingRepositoryMock + .Setup(p => p.DeleteAsync(It.IsAny())) + .ReturnsAsync(true); - bool result = await this.RatingService.DeleteRating(ratingId); + bool result = await this._ratingService.DeleteRating(ratingId); Assert.IsTrue(result); } @@ -345,11 +415,17 @@ namespace DevHive.Services.Tests Id = ratingId }; - this.RatingRepositoryMock.Setup(p => p.DoesRatingExist(It.IsAny())).Returns(Task.FromResult(true)); - this.RatingRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny())).Returns(Task.FromResult(null)); - this.RatingRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny())).Returns(Task.FromResult(false)); + this._ratingRepositoryMock + .Setup(p => p.DoesRatingExist(It.IsAny())) + .ReturnsAsync(true); + this._ratingRepositoryMock + .Setup(p => p.GetByIdAsync(It.IsAny())) + .Returns(Task.FromResult(null)); + this._ratingRepositoryMock + .Setup(p => p.DeleteAsync(It.IsAny())) + .ReturnsAsync(false); - bool result = await this.RatingService.DeleteRating(ratingId); + bool result = await this._ratingService.DeleteRating(ratingId); Assert.IsFalse(result); } @@ -359,9 +435,11 @@ namespace DevHive.Services.Tests { string exceptionMessage = "Rating does not exist!"; - this.RatingRepositoryMock.Setup(p => p.DoesRatingExist(It.IsAny())).Returns(Task.FromResult(false)); + this._ratingRepositoryMock + .Setup(p => p.DoesRatingExist(It.IsAny())) + .ReturnsAsync(false); - Exception ex = Assert.ThrowsAsync(() => this.RatingService.DeleteRating(Guid.Empty)); + Exception ex = Assert.ThrowsAsync(() => this._ratingService.DeleteRating(Guid.Empty)); Assert.AreEqual(ex.Message, exceptionMessage); } diff --git a/src/Web/DevHive.Web.Tests/RatingController.Tests.cs b/src/Web/DevHive.Web.Tests/RatingController.Tests.cs index dd8954f..c7340a6 100644 --- a/src/Web/DevHive.Web.Tests/RatingController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/RatingController.Tests.cs @@ -16,18 +16,18 @@ namespace DevHive.Web.Tests [TestFixture] public class RatingControllerTests { - private Mock RatingServiceMock { get; set; } - private Mock MapperMock { get; set; } - private Mock JwtServiceMock { get; set; } - private RatingController RatingController { get; set; } + private Mock _ratingServiceMock; + private Mock _mapperMock; + private Mock _jwtServiceMock; + private RatingController _ratingController; [SetUp] public void SetUp() { - this.RatingServiceMock = new Mock(); - this.MapperMock = new Mock(); - this.JwtServiceMock = new Mock(); - this.RatingController = new RatingController(this.RatingServiceMock.Object, this.MapperMock.Object, this.JwtServiceMock.Object); + this._ratingServiceMock = new Mock(); + this._mapperMock = new Mock(); + this._jwtServiceMock = new Mock(); + this._ratingController = new RatingController(this._ratingServiceMock.Object, this._mapperMock.Object, this._jwtServiceMock.Object); } #region Create @@ -47,11 +47,17 @@ namespace DevHive.Web.Tests }; Guid ratingId = Guid.NewGuid(); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createRatingServiceModel); - this.RatingServiceMock.Setup(p => p.RatePost(It.IsAny())).Returns(Task.FromResult(ratingId)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(createRatingServiceModel); + this._ratingServiceMock + .Setup(p => p.RatePost(It.IsAny())) + .ReturnsAsync(ratingId); - IActionResult result = this.RatingController.RatePost(Guid.Empty, createRatingWebModel, String.Empty).Result; + IActionResult result = this._ratingController.RatePost(Guid.Empty, createRatingWebModel, String.Empty).Result; Assert.IsInstanceOf(result); @@ -82,11 +88,17 @@ namespace DevHive.Web.Tests }; Guid ratingId = Guid.NewGuid(); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(createRatingServiceModel); - this.RatingServiceMock.Setup(p => p.RatePost(It.IsAny())).Returns(Task.FromResult(Guid.Empty)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(createRatingServiceModel); + this._ratingServiceMock + .Setup(p => p.RatePost(It.IsAny())) + .ReturnsAsync(Guid.Empty); - IActionResult result = this.RatingController.RatePost(Guid.Empty, createRatingWebModel, String.Empty).Result; + IActionResult result = this._ratingController.RatePost(Guid.Empty, createRatingWebModel, String.Empty).Result; Assert.IsInstanceOf(result); } @@ -114,10 +126,14 @@ namespace DevHive.Web.Tests IsLike = true }; - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readRatingServiceModel); - this.RatingServiceMock.Setup(p => p.GetRatingById(It.IsAny())).Returns(Task.FromResult(readRatingServiceModel)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readRatingServiceModel); + this._ratingServiceMock + .Setup(p => p.GetRatingById(It.IsAny())) + .ReturnsAsync(readRatingServiceModel); - IActionResult result = this.RatingController.GetRatingById(id).Result; + IActionResult result = this._ratingController.GetRatingById(id).Result; Assert.IsInstanceOf(result); } @@ -143,10 +159,14 @@ namespace DevHive.Web.Tests IsLike = true }; - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readRatingServiceModel); - this.RatingServiceMock.Setup(p => p.GetRatingByPostAndUser(It.IsAny(), It.IsAny())).Returns(Task.FromResult(readRatingServiceModel)); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readRatingServiceModel); + this._ratingServiceMock + .Setup(p => p.GetRatingByPostAndUser(It.IsAny(), It.IsAny())) + .ReturnsAsync(readRatingServiceModel); - IActionResult result = this.RatingController.GetRatingByUserAndPost(userId, postId).Result; + IActionResult result = this._ratingController.GetRatingByUserAndPost(userId, postId).Result; Assert.IsInstanceOf(result); } @@ -186,12 +206,20 @@ namespace DevHive.Web.Tests IsLike = true }; - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateRatingServiceModel); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(readRatingWebModel); - this.RatingServiceMock.Setup(p => p.UpdateRating(It.IsAny())).Returns(Task.FromResult(readRatingServiceModel)); - - IActionResult result = this.RatingController.UpdateRating(userId, postId, updateRatingWebModel, String.Empty).Result; + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(updateRatingServiceModel); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(readRatingWebModel); + this._ratingServiceMock + .Setup(p => p.UpdateRating(It.IsAny())) + .ReturnsAsync(readRatingServiceModel); + + IActionResult result = this._ratingController.UpdateRating(userId, postId, updateRatingWebModel, String.Empty).Result; Assert.IsInstanceOf(result); } @@ -210,11 +238,17 @@ namespace DevHive.Web.Tests IsLike = true }; - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.MapperMock.Setup(p => p.Map(It.IsAny())).Returns(updateRatingServiceModel); - this.RatingServiceMock.Setup(p => p.UpdateRating(It.IsAny())).Returns(Task.FromResult(null)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._mapperMock + .Setup(p => p.Map(It.IsAny())) + .Returns(updateRatingServiceModel); + this._ratingServiceMock + .Setup(p => p.UpdateRating(It.IsAny())) + .Returns(Task.FromResult(null)); - IActionResult result = this.RatingController.UpdateRating(Guid.Empty, Guid.Empty, updateRatingWebModel, String.Empty).Result; + IActionResult result = this._ratingController.UpdateRating(Guid.Empty, Guid.Empty, updateRatingWebModel, String.Empty).Result; Assert.IsInstanceOf(result); } @@ -226,10 +260,14 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.RatingServiceMock.Setup(p => p.DeleteRating(It.IsAny())).Returns(Task.FromResult(true)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._ratingServiceMock + .Setup(p => p.DeleteRating(It.IsAny())) + .ReturnsAsync(true); - IActionResult result = this.RatingController.DeleteRating(Guid.Empty, Guid.Empty, String.Empty).Result; + IActionResult result = this._ratingController.DeleteRating(Guid.Empty, Guid.Empty, String.Empty).Result; Assert.IsInstanceOf(result); } @@ -240,10 +278,14 @@ namespace DevHive.Web.Tests string message = "Could not delete Rating"; Guid id = Guid.NewGuid(); - this.JwtServiceMock.Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())).Returns(true); - this.RatingServiceMock.Setup(p => p.DeleteRating(It.IsAny())).Returns(Task.FromResult(false)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny(), It.IsAny())) + .Returns(true); + this._ratingServiceMock + .Setup(p => p.DeleteRating(It.IsAny())) + .ReturnsAsync(false); - IActionResult result = this.RatingController.DeleteRating(Guid.Empty, Guid.Empty, String.Empty).Result; + IActionResult result = this._ratingController.DeleteRating(Guid.Empty, Guid.Empty, String.Empty).Result; Assert.IsInstanceOf(result); -- cgit v1.2.3