diff options
| author | Kamen Mladenov <kamen.d.mladenov@protonmail.com> | 2021-03-14 12:14:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-14 12:14:59 +0200 |
| commit | 432fc5890814596d50fb409a6e5dc952d7bb4836 (patch) | |
| tree | 05878ec2aeaa6feda4058e494e586ab0e869a63c /src/Web/DevHive.Web.Tests | |
| parent | 97459890f8c25b1af2a17109055afea53ee0b280 (diff) | |
| parent | 10ac1adbf9fbeaca116d3fd356f85dd64c8c2bf8 (diff) | |
| download | DevHive-432fc5890814596d50fb409a6e5dc952d7bb4836.tar DevHive-432fc5890814596d50fb409a6e5dc952d7bb4836.tar.gz DevHive-432fc5890814596d50fb409a6e5dc952d7bb4836.zip | |
Merge pull request #21 from Team-Kaleidoscope/unit_test_refactoring
Unit test code style refactor
Diffstat (limited to 'src/Web/DevHive.Web.Tests')
| -rw-r--r-- | src/Web/DevHive.Web.Tests/CommentController.Tests.cs | 158 | ||||
| -rw-r--r-- | src/Web/DevHive.Web.Tests/FeedController.Tests.cs | 40 | ||||
| -rw-r--r-- | src/Web/DevHive.Web.Tests/LanguageController.Tests.cs | 77 | ||||
| -rw-r--r-- | src/Web/DevHive.Web.Tests/PostController.Tests.cs | 148 | ||||
| -rw-r--r-- | src/Web/DevHive.Web.Tests/RoleController.Tests.cs | 79 | ||||
| -rw-r--r-- | src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs | 78 | ||||
| -rw-r--r-- | src/Web/DevHive.Web.Tests/UserController.Tests.cs | 141 |
7 files changed, 472 insertions, 249 deletions
diff --git a/src/Web/DevHive.Web.Tests/CommentController.Tests.cs b/src/Web/DevHive.Web.Tests/CommentController.Tests.cs index 7860f3c..830677e 100644 --- a/src/Web/DevHive.Web.Tests/CommentController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/CommentController.Tests.cs @@ -1,7 +1,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,21 +12,23 @@ using NUnit.Framework; namespace DevHive.Web.Tests { - [TestFixture] + [TestFixture] public class CommentControllerTests { const string MESSAGE = "Gosho Trapov"; - private Mock<ICommentService> CommentServiceMock { get; set; } - private Mock<IMapper> MapperMock { get; set; } - private CommentController CommentController { get; set; } + private Mock<ICommentService> _commentServiceMock; + private Mock<IMapper> _mapperMock; + private Mock<IJwtService> _jwtServiceMock; + private CommentController _commentController; #region Setup [SetUp] public void SetUp() { - this.CommentServiceMock = new Mock<ICommentService>(); - this.MapperMock = new Mock<IMapper>(); - this.CommentController = new CommentController(this.CommentServiceMock.Object, this.MapperMock.Object); + this._commentServiceMock = new Mock<ICommentService>(); + this._mapperMock = new Mock<IMapper>(); + this._jwtServiceMock = new Mock<IJwtService>(); + this._commentController = new CommentController(this._commentServiceMock.Object, this._mapperMock.Object, this._jwtServiceMock.Object); } #endregion @@ -44,11 +46,20 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this.MapperMock.Setup(p => p.Map<CreateCommentServiceModel>(It.IsAny<CreateCommentWebModel>())).Returns(createCommentServiceModel); - this.CommentServiceMock.Setup(p => p.AddComment(It.IsAny<CreateCommentServiceModel>())).Returns(Task.FromResult(id)); - this.CommentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); - - IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; + this._mapperMock + .Setup(p => p.Map<CreateCommentServiceModel>(It.IsAny<CreateCommentWebModel>())) + .Returns(createCommentServiceModel); + this._commentServiceMock + .Setup(p => p.AddComment(It.IsAny<CreateCommentServiceModel>())) + .ReturnsAsync(id); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(true); + + IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -77,11 +88,20 @@ namespace DevHive.Web.Tests string errorMessage = $"Could not create comment!"; - this.MapperMock.Setup(p => p.Map<CreateCommentServiceModel>(It.IsAny<CreateCommentWebModel>())).Returns(createCommentServiceModel); - this.CommentServiceMock.Setup(p => p.AddComment(It.IsAny<CreateCommentServiceModel>())).Returns(Task.FromResult(Guid.Empty)); - this.CommentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); + this._mapperMock + .Setup(p => p.Map<CreateCommentServiceModel>(It.IsAny<CreateCommentWebModel>())) + .Returns(createCommentServiceModel); + this._commentServiceMock + .Setup(p => p.AddComment(It.IsAny<CreateCommentServiceModel>())) + .ReturnsAsync(Guid.Empty); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(true); - IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; + IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); @@ -99,9 +119,14 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this.CommentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(false); - IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; + IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result; Assert.IsInstanceOf<UnauthorizedResult>(result); } @@ -121,10 +146,17 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this.CommentServiceMock.Setup(p => p.GetCommentById(It.IsAny<Guid>())).Returns(Task.FromResult(readCommentServiceModel)); - this.MapperMock.Setup(p => p.Map<ReadCommentWebModel>(It.IsAny<ReadCommentServiceModel>())).Returns(readCommentWebModel); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.GetCommentById(It.IsAny<Guid>())) + .ReturnsAsync(readCommentServiceModel); + this._mapperMock + .Setup(p => p.Map<ReadCommentWebModel>(It.IsAny<ReadCommentServiceModel>())) + .Returns(readCommentWebModel); - IActionResult result = this.CommentController.GetCommentById(id).Result; + IActionResult result = this._commentController.GetCommentById(id).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -149,11 +181,20 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this.CommentServiceMock.Setup(p => p.UpdateComment(It.IsAny<UpdateCommentServiceModel>())).Returns(Task.FromResult(id)); - this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map<UpdateCommentServiceModel>(It.IsAny<UpdateCommentWebModel>())).Returns(updateCommentServiceModel); - - IActionResult result = this.CommentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; + this._commentServiceMock + .Setup(p => p.UpdateComment(It.IsAny<UpdateCommentServiceModel>())) + .ReturnsAsync(id); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(true); + this._mapperMock + .Setup(p => p.Map<UpdateCommentServiceModel>(It.IsAny<UpdateCommentWebModel>())) + .Returns(updateCommentServiceModel); + + IActionResult result = this._commentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -177,11 +218,20 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this.CommentServiceMock.Setup(p => p.UpdateComment(It.IsAny<UpdateCommentServiceModel>())).Returns(Task.FromResult(Guid.Empty)); - this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map<UpdateCommentServiceModel>(It.IsAny<UpdateCommentWebModel>())).Returns(updateCommentServiceModel); - - IActionResult result = this.CommentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; + this._commentServiceMock + .Setup(p => p.UpdateComment(It.IsAny<UpdateCommentServiceModel>())) + .ReturnsAsync(Guid.Empty); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(true); + this._mapperMock + .Setup(p => p.Map<UpdateCommentServiceModel>(It.IsAny<UpdateCommentWebModel>())) + .Returns(updateCommentServiceModel); + + IActionResult result = this._commentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult; @@ -198,9 +248,12 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(false); + // this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).ReturnsAsync(false)); - IActionResult result = this.CommentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; + IActionResult result = this._commentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result; Assert.IsInstanceOf<UnauthorizedResult>(result); } @@ -212,10 +265,17 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.CommentServiceMock.Setup(p => p.DeleteComment(It.IsAny<Guid>())).Returns(Task.FromResult(true)); - this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); + this._commentServiceMock + .Setup(p => p.DeleteComment(It.IsAny<Guid>())) + .ReturnsAsync(true); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(true); - IActionResult result = this.CommentController.DeleteComment(id, null).Result; + IActionResult result = this._commentController.DeleteComment(id, null).Result; Assert.IsInstanceOf<OkResult>(result); } @@ -226,10 +286,17 @@ namespace DevHive.Web.Tests string message = "Could not delete Comment"; Guid id = Guid.NewGuid(); - this.CommentServiceMock.Setup(p => p.DeleteComment(It.IsAny<Guid>())).Returns(Task.FromResult(false)); - this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); + this._commentServiceMock + .Setup(p => p.DeleteComment(It.IsAny<Guid>())) + .ReturnsAsync(false); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(true); - IActionResult result = this.CommentController.DeleteComment(id, null).Result; + IActionResult result = this._commentController.DeleteComment(id, null).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); @@ -242,9 +309,14 @@ namespace DevHive.Web.Tests [Test] public void DeleteComment_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized() { - this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false)); - - IActionResult result = this.CommentController.DeleteComment(Guid.Empty, null).Result; + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._commentServiceMock + .Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(false); + + IActionResult result = this._commentController.DeleteComment(Guid.Empty, null).Result; Assert.IsInstanceOf<UnauthorizedResult>(result); } diff --git a/src/Web/DevHive.Web.Tests/FeedController.Tests.cs b/src/Web/DevHive.Web.Tests/FeedController.Tests.cs index 01f67e5..3af2b48 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<IFeedService> FeedServiceMock { get; set; } - private Mock<IMapper> MapperMock { get; set; } - private FeedController FeedController { get; set; } + private Mock<IFeedService> _feedServiceMock; + private Mock<IMapper> _mapperMock; + private FeedController _feedController; #region SetUp [SetUp] public void SetUp() { - this.FeedServiceMock = new Mock<IFeedService>(); - this.MapperMock = new Mock<IMapper>(); - this.FeedController = new FeedController(this.FeedServiceMock.Object, this.MapperMock.Object); + this._feedServiceMock = new Mock<IFeedService>(); + this._mapperMock = new Mock<IMapper>(); + this._feedController = new FeedController(this._feedServiceMock.Object, this._mapperMock.Object); } #endregion @@ -48,11 +48,17 @@ namespace DevHive.Web.Tests } }; - this.FeedServiceMock.Setup(p => p.GetPage(It.IsAny<GetPageServiceModel>())).Returns(Task.FromResult(readPageServiceModel)); - this.MapperMock.Setup(p => p.Map<GetPageServiceModel>(It.IsAny<GetPageWebModel>())).Returns(getPageServiceModel); - this.MapperMock.Setup(p => p.Map<ReadPageWebModel>(It.IsAny<ReadPageServiceModel>())).Returns(readPageWebModel); + this._feedServiceMock + .Setup(p => p.GetPage(It.IsAny<GetPageServiceModel>())) + .ReturnsAsync(readPageServiceModel); + this._mapperMock + .Setup(p => p.Map<GetPageServiceModel>(It.IsAny<GetPageWebModel>())) + .Returns(getPageServiceModel); + this._mapperMock + .Setup(p => p.Map<ReadPageWebModel>(It.IsAny<ReadPageServiceModel>())) + .Returns(readPageWebModel); - IActionResult result = await this.FeedController.GetPosts(Guid.Empty, getPageWebModel); + IActionResult result = await this._feedController.GetPosts(Guid.Empty, getPageWebModel); Assert.IsInstanceOf<OkObjectResult>(result); @@ -80,11 +86,17 @@ namespace DevHive.Web.Tests } }; - this.FeedServiceMock.Setup(p => p.GetUserPage(It.IsAny<GetPageServiceModel>())).Returns(Task.FromResult(readPageServiceModel)); - this.MapperMock.Setup(p => p.Map<GetPageServiceModel>(It.IsAny<GetPageWebModel>())).Returns(getPageServiceModel); - this.MapperMock.Setup(p => p.Map<ReadPageWebModel>(It.IsAny<ReadPageServiceModel>())).Returns(readPageWebModel); + this._feedServiceMock + .Setup(p => p.GetUserPage(It.IsAny<GetPageServiceModel>())) + .ReturnsAsync(readPageServiceModel); + this._mapperMock + .Setup(p => p.Map<GetPageServiceModel>(It.IsAny<GetPageWebModel>())) + .Returns(getPageServiceModel); + this._mapperMock + .Setup(p => p.Map<ReadPageWebModel>(It.IsAny<ReadPageServiceModel>())) + .Returns(readPageWebModel); - IActionResult result = await this.FeedController.GetUserPosts(null, getPageWebModel); + IActionResult result = await this._feedController.GetUserPosts(null, getPageWebModel); Assert.IsInstanceOf<OkObjectResult>(result); diff --git a/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs b/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs index af4672a..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,20 +11,20 @@ using NUnit.Framework; namespace DevHive.Web.Tests { - [TestFixture] + [TestFixture] public class LanguageControllerTests { const string NAME = "Gosho Trapov"; - private Mock<ILanguageService> LanguageServiceMock { get; set; } - private Mock<IMapper> MapperMock { get; set; } - private LanguageController LanguageController { get; set; } + private Mock<ILanguageService> _languageServiceMock; + private Mock<IMapper> _mapperMock; + private LanguageController _languageController; [SetUp] public void SetUp() { - this.LanguageServiceMock = new Mock<ILanguageService>(); - this.MapperMock = new Mock<IMapper>(); - this.LanguageController = new LanguageController(this.LanguageServiceMock.Object, this.MapperMock.Object); + this._languageServiceMock = new Mock<ILanguageService>(); + this._mapperMock = new Mock<IMapper>(); + this._languageController = new LanguageController(this._languageServiceMock.Object, this._mapperMock.Object); } #region Create @@ -42,10 +41,14 @@ namespace DevHive.Web.Tests }; Guid id = Guid.NewGuid(); - this.MapperMock.Setup(p => p.Map<CreateLanguageServiceModel>(It.IsAny<CreateLanguageWebModel>())).Returns(createLanguageServiceModel); - this.LanguageServiceMock.Setup(p => p.CreateLanguage(It.IsAny<CreateLanguageServiceModel>())).Returns(Task.FromResult(id)); + this._mapperMock + .Setup(p => p.Map<CreateLanguageServiceModel>(It.IsAny<CreateLanguageWebModel>())) + .Returns(createLanguageServiceModel); + this._languageServiceMock + .Setup(p => p.CreateLanguage(It.IsAny<CreateLanguageServiceModel>())) + .ReturnsAsync(id); - IActionResult result = this.LanguageController.Create(createLanguageWebModel).Result; + IActionResult result = this._languageController.Create(createLanguageWebModel).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -74,10 +77,14 @@ namespace DevHive.Web.Tests Guid id = Guid.Empty; string errorMessage = $"Could not create language {NAME}"; - this.MapperMock.Setup(p => p.Map<CreateLanguageServiceModel>(It.IsAny<CreateLanguageWebModel>())).Returns(createTechnologyServiceModel); - this.LanguageServiceMock.Setup(p => p.CreateLanguage(It.IsAny<CreateLanguageServiceModel>())).Returns(Task.FromResult(id)); + this._mapperMock + .Setup(p => p.Map<CreateLanguageServiceModel>(It.IsAny<CreateLanguageWebModel>())) + .Returns(createTechnologyServiceModel); + this._languageServiceMock + .Setup(p => p.CreateLanguage(It.IsAny<CreateLanguageServiceModel>())) + .ReturnsAsync(id); - IActionResult result = this.LanguageController.Create(createTechnologyWebModel).Result; + IActionResult result = this._languageController.Create(createTechnologyWebModel).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); @@ -103,10 +110,14 @@ namespace DevHive.Web.Tests Name = NAME }; - this.LanguageServiceMock.Setup(p => p.GetLanguageById(It.IsAny<Guid>())).Returns(Task.FromResult(readLanguageServiceModel)); - this.MapperMock.Setup(p => p.Map<ReadLanguageWebModel>(It.IsAny<ReadLanguageServiceModel>())).Returns(readLanguageWebModel); + this._languageServiceMock + .Setup(p => p.GetLanguageById(It.IsAny<Guid>())) + .ReturnsAsync(readLanguageServiceModel); + this._mapperMock + .Setup(p => p.Map<ReadLanguageWebModel>(It.IsAny<ReadLanguageServiceModel>())) + .Returns(readLanguageWebModel); - IActionResult result = this.LanguageController.GetById(id).Result; + IActionResult result = this._languageController.GetById(id).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -131,10 +142,14 @@ namespace DevHive.Web.Tests Name = NAME }; - this.LanguageServiceMock.Setup(p => p.UpdateLanguage(It.IsAny<UpdateLanguageServiceModel>())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map<UpdateLanguageServiceModel>(It.IsAny<UpdateLanguageWebModel>())).Returns(updateLanguageServiceModel); + this._languageServiceMock + .Setup(p => p.UpdateLanguage(It.IsAny<UpdateLanguageServiceModel>())) + .ReturnsAsync(true); + this._mapperMock + .Setup(p => p.Map<UpdateLanguageServiceModel>(It.IsAny<UpdateLanguageWebModel>())) + .Returns(updateLanguageServiceModel); - IActionResult result = this.LanguageController.Update(id, updateLanguageWebModel).Result; + IActionResult result = this._languageController.Update(id, updateLanguageWebModel).Result; Assert.IsInstanceOf<OkResult>(result); } @@ -153,10 +168,14 @@ namespace DevHive.Web.Tests Name = NAME }; - this.LanguageServiceMock.Setup(p => p.UpdateLanguage(It.IsAny<UpdateLanguageServiceModel>())).Returns(Task.FromResult(false)); - this.MapperMock.Setup(p => p.Map<UpdateLanguageServiceModel>(It.IsAny<UpdateLanguageWebModel>())).Returns(updateLanguageServiceModel); + this._languageServiceMock + .Setup(p => p.UpdateLanguage(It.IsAny<UpdateLanguageServiceModel>())) + .ReturnsAsync(false); + this._mapperMock + .Setup(p => p.Map<UpdateLanguageServiceModel>(It.IsAny<UpdateLanguageWebModel>())) + .Returns(updateLanguageServiceModel); - IActionResult result = this.LanguageController.Update(id, updateLanguageWebModel).Result; + IActionResult result = this._languageController.Update(id, updateLanguageWebModel).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult; @@ -172,9 +191,11 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.LanguageServiceMock.Setup(p => p.DeleteLanguage(It.IsAny<Guid>())).Returns(Task.FromResult(true)); + this._languageServiceMock + .Setup(p => p.DeleteLanguage(It.IsAny<Guid>())) + .ReturnsAsync(true); - IActionResult result = this.LanguageController.Delete(id).Result; + IActionResult result = this._languageController.Delete(id).Result; Assert.IsInstanceOf<OkResult>(result); } @@ -185,9 +206,11 @@ namespace DevHive.Web.Tests string message = "Could not delete Language"; Guid id = Guid.NewGuid(); - this.LanguageServiceMock.Setup(p => p.DeleteLanguage(It.IsAny<Guid>())).Returns(Task.FromResult(false)); + this._languageServiceMock + .Setup(p => p.DeleteLanguage(It.IsAny<Guid>())) + .ReturnsAsync(false); - IActionResult result = this.LanguageController.Delete(id).Result; + IActionResult result = this._languageController.Delete(id).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); diff --git a/src/Web/DevHive.Web.Tests/PostController.Tests.cs b/src/Web/DevHive.Web.Tests/PostController.Tests.cs index f10f8dd..93cce1d 100644 --- a/src/Web/DevHive.Web.Tests/PostController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/PostController.Tests.cs @@ -1,7 +1,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; @@ -12,20 +12,22 @@ using NUnit.Framework; namespace DevHive.Web.Tests { - [TestFixture] + [TestFixture] public class PostControllerTests { const string MESSAGE = "Gosho Trapov"; - private Mock<IPostService> PostServiceMock { get; set; } - private Mock<IMapper> MapperMock { get; set; } - private PostController PostController { get; set; } + private Mock<IPostService> _postServiceMock; + private Mock<IMapper> _mapperMock; + private Mock<IJwtService> _jwtServiceMock; + private PostController _postController; [SetUp] public void SetUp() { - this.PostServiceMock = new Mock<IPostService>(); - this.MapperMock = new Mock<IMapper>(); - this.PostController = new PostController(this.PostServiceMock.Object, this.MapperMock.Object); + this._postServiceMock = new Mock<IPostService>(); + this._mapperMock = new Mock<IMapper>(); + this._jwtServiceMock = new Mock<IJwtService>(); + this._postController = new PostController(this._postServiceMock.Object, this._mapperMock.Object, this._jwtServiceMock.Object); } #region Create @@ -42,11 +44,20 @@ namespace DevHive.Web.Tests }; Guid id = Guid.NewGuid(); - this.MapperMock.Setup(p => p.Map<CreatePostServiceModel>(It.IsAny<CreatePostWebModel>())).Returns(createPostServiceModel); - this.PostServiceMock.Setup(p => p.CreatePost(It.IsAny<CreatePostServiceModel>())).Returns(Task.FromResult(id)); - this.PostServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); - - IActionResult result = this.PostController.Create(Guid.Empty, createPostWebModel, null).Result; + this._mapperMock + .Setup(p => p.Map<CreatePostServiceModel>(It.IsAny<CreatePostWebModel>())) + .Returns(createPostServiceModel); + this._postServiceMock + .Setup(p => p.CreatePost(It.IsAny<CreatePostServiceModel>())) + .ReturnsAsync(id); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._postServiceMock + .Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(true); + + IActionResult result = this._postController.Create(Guid.Empty, createPostWebModel, null).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -75,11 +86,20 @@ namespace DevHive.Web.Tests Guid id = Guid.Empty; string errorMessage = $"Could not create post!"; - this.MapperMock.Setup(p => p.Map<CreatePostServiceModel>(It.IsAny<CreatePostWebModel>())).Returns(createTechnologyServiceModel); - this.PostServiceMock.Setup(p => p.CreatePost(It.IsAny<CreatePostServiceModel>())).Returns(Task.FromResult(id)); - this.PostServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); - - IActionResult result = this.PostController.Create(Guid.Empty, createTechnologyWebModel, null).Result; + this._mapperMock + .Setup(p => p.Map<CreatePostServiceModel>(It.IsAny<CreatePostWebModel>())) + .Returns(createTechnologyServiceModel); + this._postServiceMock + .Setup(p => p.CreatePost(It.IsAny<CreatePostServiceModel>())) + .ReturnsAsync(id); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._postServiceMock + .Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(true); + + IActionResult result = this._postController.Create(Guid.Empty, createTechnologyWebModel, null).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); @@ -97,9 +117,11 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this.PostServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false)); + this._postServiceMock + .Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(false); - IActionResult result = this.PostController.Create(Guid.NewGuid(), createPostWebModel, null).Result; + IActionResult result = this._postController.Create(Guid.NewGuid(), createPostWebModel, null).Result; Assert.IsInstanceOf<UnauthorizedResult>(result); } @@ -120,10 +142,14 @@ namespace DevHive.Web.Tests Message = MESSAGE }; - this.PostServiceMock.Setup(p => p.GetPostById(It.IsAny<Guid>())).Returns(Task.FromResult(readPostServiceModel)); - this.MapperMock.Setup(p => p.Map<ReadPostWebModel>(It.IsAny<ReadPostServiceModel>())).Returns(readPostWebModel); + this._postServiceMock + .Setup(p => p.GetPostById(It.IsAny<Guid>())) + .ReturnsAsync(readPostServiceModel); + this._mapperMock + .Setup(p => p.Map<ReadPostWebModel>(It.IsAny<ReadPostServiceModel>())) + .Returns(readPostWebModel); - IActionResult result = this.PostController.GetById(id).Result; + IActionResult result = this._postController.GetById(id).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -148,11 +174,20 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this.PostServiceMock.Setup(p => p.UpdatePost(It.IsAny<UpdatePostServiceModel>())).Returns(Task.FromResult(id)); - this.MapperMock.Setup(p => p.Map<UpdatePostServiceModel>(It.IsAny<UpdatePostWebModel>())).Returns(updatePostServiceModel); - this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); - - IActionResult result = this.PostController.Update(id, updatePostWebModel, null).Result; + this._postServiceMock + .Setup(p => p.UpdatePost(It.IsAny<UpdatePostServiceModel>())) + .ReturnsAsync(id); + this._mapperMock + .Setup(p => p.Map<UpdatePostServiceModel>(It.IsAny<UpdatePostWebModel>())) + .Returns(updatePostServiceModel); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._postServiceMock + .Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(true); + + IActionResult result = this._postController.Update(id, updatePostWebModel, null).Result; Assert.IsInstanceOf<OkObjectResult>(result); } @@ -171,11 +206,20 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this.PostServiceMock.Setup(p => p.UpdatePost(It.IsAny<UpdatePostServiceModel>())).Returns(Task.FromResult(Guid.Empty)); - this.MapperMock.Setup(p => p.Map<UpdatePostServiceModel>(It.IsAny<UpdatePostWebModel>())).Returns(updatePostServiceModel); - this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); - - IActionResult result = this.PostController.Update(id, updatePostWebModel, null).Result; + this._postServiceMock + .Setup(p => p.UpdatePost(It.IsAny<UpdatePostServiceModel>())) + .ReturnsAsync(Guid.Empty); + this._mapperMock + .Setup(p => p.Map<UpdatePostServiceModel>(It.IsAny<UpdatePostWebModel>())) + .Returns(updatePostServiceModel); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._postServiceMock + .Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(true); + + IActionResult result = this._postController.Update(id, updatePostWebModel, null).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult; @@ -192,9 +236,11 @@ namespace DevHive.Web.Tests NewMessage = MESSAGE }; - this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false)); + this._postServiceMock + .Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(false); - IActionResult result = this.PostController.Update(Guid.Empty, updatePostWebModel, null).Result; + IActionResult result = this._postController.Update(Guid.Empty, updatePostWebModel, null).Result; Assert.IsInstanceOf<UnauthorizedResult>(result); } @@ -206,10 +252,17 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.PostServiceMock.Setup(p => p.DeletePost(It.IsAny<Guid>())).Returns(Task.FromResult(true)); - this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); + this._postServiceMock + .Setup(p => p.DeletePost(It.IsAny<Guid>())) + .ReturnsAsync(true); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._postServiceMock + .Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(true); - IActionResult result = this.PostController.Delete(id, null).Result; + IActionResult result = this._postController.Delete(id, null).Result; Assert.IsInstanceOf<OkResult>(result); } @@ -220,10 +273,17 @@ namespace DevHive.Web.Tests string message = "Could not delete Post"; Guid id = Guid.NewGuid(); - this.PostServiceMock.Setup(p => p.DeletePost(It.IsAny<Guid>())).Returns(Task.FromResult(false)); - this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); + this._postServiceMock + .Setup(p => p.DeletePost(It.IsAny<Guid>())) + .ReturnsAsync(false); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._postServiceMock + .Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(true); - IActionResult result = this.PostController.Delete(id, null).Result; + IActionResult result = this._postController.Delete(id, null).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); @@ -236,9 +296,11 @@ namespace DevHive.Web.Tests [Test] public void DeletePost_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized() { - this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false)); + this._postServiceMock + .Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())) + .ReturnsAsync(false); - IActionResult result = this.PostController.Delete(Guid.Empty, null).Result; + IActionResult result = this._postController.Delete(Guid.Empty, null).Result; Assert.IsInstanceOf<UnauthorizedResult>(result); } diff --git a/src/Web/DevHive.Web.Tests/RoleController.Tests.cs b/src/Web/DevHive.Web.Tests/RoleController.Tests.cs index ff80dc0..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,20 +11,20 @@ using NUnit.Framework; namespace DevHive.Web.Tests { - [TestFixture] + [TestFixture] public class RoleControllerTests { const string NAME = "Gosho Trapov"; - private Mock<IRoleService> RoleServiceMock { get; set; } - private Mock<IMapper> MapperMock { get; set; } - private RoleController RoleController { get; set; } + private Mock<IRoleService> _roleServiceMock; + private Mock<IMapper> _mapperMock; + private RoleController _roleController; [SetUp] public void SetUp() { - this.RoleServiceMock = new Mock<IRoleService>(); - this.MapperMock = new Mock<IMapper>(); - this.RoleController = new RoleController(this.RoleServiceMock.Object, this.MapperMock.Object); + this._roleServiceMock = new Mock<IRoleService>(); + this._mapperMock = new Mock<IMapper>(); + this._roleController = new RoleController(this._roleServiceMock.Object, this._mapperMock.Object); } #region Create @@ -42,10 +41,14 @@ namespace DevHive.Web.Tests }; Guid id = Guid.NewGuid(); - this.MapperMock.Setup(p => p.Map<CreateRoleServiceModel>(It.IsAny<CreateRoleWebModel>())).Returns(createRoleServiceModel); - this.RoleServiceMock.Setup(p => p.CreateRole(It.IsAny<CreateRoleServiceModel>())).Returns(Task.FromResult(id)); + this._mapperMock + .Setup(p => p.Map<CreateRoleServiceModel>(It.IsAny<CreateRoleWebModel>())) + .Returns(createRoleServiceModel); + this._roleServiceMock + .Setup(p => p.CreateRole(It.IsAny<CreateRoleServiceModel>())) + .ReturnsAsync(id); - IActionResult result = this.RoleController.Create(createRoleWebModel).Result; + IActionResult result = this._roleController.Create(createRoleWebModel).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -74,10 +77,14 @@ namespace DevHive.Web.Tests Guid id = Guid.Empty; string errorMessage = $"Could not create role {NAME}"; - this.MapperMock.Setup(p => p.Map<CreateRoleServiceModel>(It.IsAny<CreateRoleWebModel>())).Returns(createTechnologyServiceModel); - this.RoleServiceMock.Setup(p => p.CreateRole(It.IsAny<CreateRoleServiceModel>())).Returns(Task.FromResult(id)); + this._mapperMock + .Setup(p => p.Map<CreateRoleServiceModel>(It.IsAny<CreateRoleWebModel>())) + .Returns(createTechnologyServiceModel); + this._roleServiceMock + .Setup(p => p.CreateRole(It.IsAny<CreateRoleServiceModel>())) + .ReturnsAsync(id); - IActionResult result = this.RoleController.Create(createTechnologyWebModel).Result; + IActionResult result = this._roleController.Create(createTechnologyWebModel).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); @@ -103,10 +110,14 @@ namespace DevHive.Web.Tests Name = NAME }; - this.RoleServiceMock.Setup(p => p.GetRoleById(It.IsAny<Guid>())).Returns(Task.FromResult(roleServiceModel)); - this.MapperMock.Setup(p => p.Map<RoleWebModel>(It.IsAny<RoleServiceModel>())).Returns(roleWebModel); + this._roleServiceMock + .Setup(p => p.GetRoleById(It.IsAny<Guid>())) + .ReturnsAsync(roleServiceModel); + this._mapperMock + .Setup(p => p.Map<RoleWebModel>(It.IsAny<RoleServiceModel>())) + .Returns(roleWebModel); - IActionResult result = this.RoleController.GetById(id).Result; + IActionResult result = this._roleController.GetById(id).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -131,10 +142,14 @@ namespace DevHive.Web.Tests Name = NAME }; - this.RoleServiceMock.Setup(p => p.UpdateRole(It.IsAny<UpdateRoleServiceModel>())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map<UpdateRoleServiceModel>(It.IsAny<UpdateRoleWebModel>())).Returns(updateRoleServiceModel); + this._roleServiceMock + .Setup(p => p.UpdateRole(It.IsAny<UpdateRoleServiceModel>())) + .ReturnsAsync(true); + this._mapperMock + .Setup(p => p.Map<UpdateRoleServiceModel>(It.IsAny<UpdateRoleWebModel>())) + .Returns(updateRoleServiceModel); - IActionResult result = this.RoleController.Update(id, updateRoleWebModel).Result; + IActionResult result = this._roleController.Update(id, updateRoleWebModel).Result; Assert.IsInstanceOf<OkResult>(result); } @@ -153,10 +168,14 @@ namespace DevHive.Web.Tests Name = NAME }; - this.RoleServiceMock.Setup(p => p.UpdateRole(It.IsAny<UpdateRoleServiceModel>())).Returns(Task.FromResult(false)); - this.MapperMock.Setup(p => p.Map<UpdateRoleServiceModel>(It.IsAny<UpdateRoleWebModel>())).Returns(updateRoleServiceModel); + this._roleServiceMock + .Setup(p => p.UpdateRole(It.IsAny<UpdateRoleServiceModel>())) + .ReturnsAsync(false); + this._mapperMock + .Setup(p => p.Map<UpdateRoleServiceModel>(It.IsAny<UpdateRoleWebModel>())) + .Returns(updateRoleServiceModel); - IActionResult result = this.RoleController.Update(id, updateRoleWebModel).Result; + IActionResult result = this._roleController.Update(id, updateRoleWebModel).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult; @@ -172,22 +191,26 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.RoleServiceMock.Setup(p => p.DeleteRole(It.IsAny<Guid>())).Returns(Task.FromResult(true)); + this._roleServiceMock + .Setup(p => p.DeleteRole(It.IsAny<Guid>())) + .ReturnsAsync(true); - IActionResult result = this.RoleController.Delete(id).Result; + IActionResult result = this._roleController.Delete(id).Result; Assert.IsInstanceOf<OkResult>(result); } [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<Guid>())).Returns(Task.FromResult(false)); + this._roleServiceMock + .Setup(p => p.DeleteRole(It.IsAny<Guid>())) + .ReturnsAsync(false); - IActionResult result = this.RoleController.Delete(id).Result; + IActionResult result = this._roleController.Delete(id).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); diff --git a/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs b/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs index a00f1db..06e1ea2 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; @@ -9,25 +8,24 @@ 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"; - private Mock<ITechnologyService> TechnologyServiceMock { get; set; } - private Mock<IMapper> MapperMock { get; set; } - private TechnologyController TechnologyController { get; set; } + private Mock<ITechnologyService> _technologyServiceMock; + private Mock<IMapper> _mapperMock; + private TechnologyController _technologyController; #region SetUp [SetUp] public void SetUp() { - this.TechnologyServiceMock = new Mock<ITechnologyService>(); - this.MapperMock = new Mock<IMapper>(); - this.TechnologyController = new TechnologyController(this.TechnologyServiceMock.Object, this.MapperMock.Object); + this._technologyServiceMock = new Mock<ITechnologyService>(); + this._mapperMock = new Mock<IMapper>(); + this._technologyController = new TechnologyController(this._technologyServiceMock.Object, this._mapperMock.Object); } #endregion @@ -45,10 +43,14 @@ namespace DevHive.Web.Tests }; Guid id = Guid.NewGuid(); - this.MapperMock.Setup(p => p.Map<CreateTechnologyServiceModel>(It.IsAny<CreateTechnologyWebModel>())).Returns(createTechnologyServiceModel); - this.TechnologyServiceMock.Setup(p => p.CreateTechnology(It.IsAny<CreateTechnologyServiceModel>())).Returns(Task.FromResult(id)); + this._mapperMock + .Setup(p => p.Map<CreateTechnologyServiceModel>(It.IsAny<CreateTechnologyWebModel>())) + .Returns(createTechnologyServiceModel); + this._technologyServiceMock + .Setup(p => p.CreateTechnology(It.IsAny<CreateTechnologyServiceModel>())) + .ReturnsAsync(id); - IActionResult result = this.TechnologyController.Create(createTechnologyWebModel).Result; + IActionResult result = this._technologyController.Create(createTechnologyWebModel).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -77,10 +79,14 @@ namespace DevHive.Web.Tests Guid id = Guid.Empty; string errorMessage = $"Could not create technology {NAME}"; - this.MapperMock.Setup(p => p.Map<CreateTechnologyServiceModel>(It.IsAny<CreateTechnologyWebModel>())).Returns(createTechnologyServiceModel); - this.TechnologyServiceMock.Setup(p => p.CreateTechnology(It.IsAny<CreateTechnologyServiceModel>())).Returns(Task.FromResult(id)); + this._mapperMock + .Setup(p => p.Map<CreateTechnologyServiceModel>(It.IsAny<CreateTechnologyWebModel>())) + .Returns(createTechnologyServiceModel); + this._technologyServiceMock + .Setup(p => p.CreateTechnology(It.IsAny<CreateTechnologyServiceModel>())) + .ReturnsAsync(id); - IActionResult result = this.TechnologyController.Create(createTechnologyWebModel).Result; + IActionResult result = this._technologyController.Create(createTechnologyWebModel).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); @@ -106,10 +112,14 @@ namespace DevHive.Web.Tests Name = NAME }; - this.TechnologyServiceMock.Setup(p => p.GetTechnologyById(It.IsAny<Guid>())).Returns(Task.FromResult(readTechnologyServiceModel)); - this.MapperMock.Setup(p => p.Map<ReadTechnologyWebModel>(It.IsAny<ReadTechnologyServiceModel>())).Returns(readTechnologyWebModel); + this._technologyServiceMock + .Setup(p => p.GetTechnologyById(It.IsAny<Guid>())) + .ReturnsAsync(readTechnologyServiceModel); + this._mapperMock + .Setup(p => p.Map<ReadTechnologyWebModel>(It.IsAny<ReadTechnologyServiceModel>())) + .Returns(readTechnologyWebModel); - IActionResult result = this.TechnologyController.GetById(id).Result; + IActionResult result = this._technologyController.GetById(id).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -134,10 +144,14 @@ namespace DevHive.Web.Tests Name = NAME }; - this.TechnologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny<UpdateTechnologyServiceModel>())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map<UpdateTechnologyServiceModel>(It.IsAny<UpdateTechnologyWebModel>())).Returns(updateTechnologyServiceModel); + this._technologyServiceMock + .Setup(p => p.UpdateTechnology(It.IsAny<UpdateTechnologyServiceModel>())) + .ReturnsAsync(true); + this._mapperMock + .Setup(p => p.Map<UpdateTechnologyServiceModel>(It.IsAny<UpdateTechnologyWebModel>())) + .Returns(updateTechnologyServiceModel); - IActionResult result = this.TechnologyController.Update(id, updateTechnologyWebModel).Result; + IActionResult result = this._technologyController.Update(id, updateTechnologyWebModel).Result; Assert.IsInstanceOf<OkResult>(result); } @@ -156,10 +170,14 @@ namespace DevHive.Web.Tests Name = NAME }; - this.TechnologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny<UpdateTechnologyServiceModel>())).Returns(Task.FromResult(false)); - this.MapperMock.Setup(p => p.Map<UpdateTechnologyServiceModel>(It.IsAny<UpdateTechnologyWebModel>())).Returns(updateTechnologyServiceModel); + this._technologyServiceMock + .Setup(p => p.UpdateTechnology(It.IsAny<UpdateTechnologyServiceModel>())) + .ReturnsAsync(false); + this._mapperMock + .Setup(p => p.Map<UpdateTechnologyServiceModel>(It.IsAny<UpdateTechnologyWebModel>())) + .Returns(updateTechnologyServiceModel); - IActionResult result = this.TechnologyController.Update(id, updateTechnologyWebModel).Result; + IActionResult result = this._technologyController.Update(id, updateTechnologyWebModel).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult; @@ -175,9 +193,11 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.TechnologyServiceMock.Setup(p => p.DeleteTechnology(It.IsAny<Guid>())).Returns(Task.FromResult(true)); + this._technologyServiceMock + .Setup(p => p.DeleteTechnology(It.IsAny<Guid>())) + .ReturnsAsync(true); - IActionResult result = this.TechnologyController.Delete(id).Result; + IActionResult result = this._technologyController.Delete(id).Result; Assert.IsInstanceOf<OkResult>(result); } @@ -188,9 +208,11 @@ namespace DevHive.Web.Tests string message = "Could not delete Technology"; Guid id = Guid.NewGuid(); - this.TechnologyServiceMock.Setup(p => p.DeleteTechnology(It.IsAny<Guid>())).Returns(Task.FromResult(false)); + this._technologyServiceMock + .Setup(p => p.DeleteTechnology(It.IsAny<Guid>())) + .ReturnsAsync(false); - IActionResult result = this.TechnologyController.Delete(id).Result; + IActionResult result = this._technologyController.Delete(id).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); diff --git a/src/Web/DevHive.Web.Tests/UserController.Tests.cs b/src/Web/DevHive.Web.Tests/UserController.Tests.cs index e12738e..10d3c6b 100644 --- a/src/Web/DevHive.Web.Tests/UserController.Tests.cs +++ b/src/Web/DevHive.Web.Tests/UserController.Tests.cs @@ -1,6 +1,6 @@ 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; @@ -12,20 +12,22 @@ using NUnit.Framework; namespace DevHive.Web.Tests { - [TestFixture] + [TestFixture] public class UserControllerTests { const string USERNAME = "Gosho Trapov"; - private Mock<IUserService> UserServiceMock { get; set; } - private Mock<IMapper> MapperMock { get; set; } - private UserController UserController { get; set; } + private Mock<IUserService> _userServiceMock; + private Mock<IMapper> _mapperMock; + private Mock<IJwtService> _jwtServiceMock; + private UserController _userController; [SetUp] public void SetUp() { - this.UserServiceMock = new Mock<IUserService>(); - this.MapperMock = new Mock<IMapper>(); - this.UserController = new UserController(this.UserServiceMock.Object, this.MapperMock.Object); + this._userServiceMock = new Mock<IUserService>(); + this._mapperMock = new Mock<IMapper>(); + this._jwtServiceMock = new Mock<IJwtService>(); + this._userController = new UserController(this._userServiceMock.Object, this._mapperMock.Object, this._jwtServiceMock.Object); } #region Create @@ -44,11 +46,17 @@ namespace DevHive.Web.Tests TokenModel tokenModel = new(token); TokenWebModel tokenWebModel = new(token); - this.MapperMock.Setup(p => p.Map<LoginServiceModel>(It.IsAny<LoginWebModel>())).Returns(loginServiceModel); - this.MapperMock.Setup(p => p.Map<TokenWebModel>(It.IsAny<TokenModel>())).Returns(tokenWebModel); - this.UserServiceMock.Setup(p => p.LoginUser(It.IsAny<LoginServiceModel>())).Returns(Task.FromResult(tokenModel)); + this._mapperMock + .Setup(p => p.Map<LoginServiceModel>(It.IsAny<LoginWebModel>())) + .Returns(loginServiceModel); + this._mapperMock + .Setup(p => p.Map<TokenWebModel>(It.IsAny<TokenModel>())) + .Returns(tokenWebModel); + this._userServiceMock + .Setup(p => p.LoginUser(It.IsAny<LoginServiceModel>())) + .ReturnsAsync(tokenModel); - IActionResult result = this.UserController.Login(loginWebModel).Result; + IActionResult result = this._userController.Login(loginWebModel).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -72,11 +80,17 @@ namespace DevHive.Web.Tests TokenModel tokenModel = new(token); TokenWebModel tokenWebModel = new(token); - this.MapperMock.Setup(p => p.Map<RegisterServiceModel>(It.IsAny<RegisterWebModel>())).Returns(registerServiceModel); - this.MapperMock.Setup(p => p.Map<TokenWebModel>(It.IsAny<TokenModel>())).Returns(tokenWebModel); - this.UserServiceMock.Setup(p => p.RegisterUser(It.IsAny<RegisterServiceModel>())).Returns(Task.FromResult(tokenModel)); + this._mapperMock + .Setup(p => p.Map<RegisterServiceModel>(It.IsAny<RegisterWebModel>())) + .Returns(registerServiceModel); + this._mapperMock + .Setup(p => p.Map<TokenWebModel>(It.IsAny<TokenModel>())) + .Returns(tokenWebModel); + this._userServiceMock + .Setup(p => p.RegisterUser(It.IsAny<RegisterServiceModel>())) + .ReturnsAsync(tokenModel); - IActionResult result = this.UserController.Register(registerWebModel).Result; + IActionResult result = this._userController.Register(registerWebModel).Result; Assert.IsInstanceOf<CreatedResult>(result); @@ -102,11 +116,17 @@ namespace DevHive.Web.Tests UserName = USERNAME }; - this.UserServiceMock.Setup(p => p.GetUserById(It.IsAny<Guid>())).Returns(Task.FromResult(userServiceModel)); - this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map<UserWebModel>(It.IsAny<UserServiceModel>())).Returns(userWebModel); + this._userServiceMock + .Setup(p => p.GetUserById(It.IsAny<Guid>())) + .ReturnsAsync(userServiceModel); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._mapperMock + .Setup(p => p.Map<UserWebModel>(It.IsAny<UserServiceModel>())) + .Returns(userWebModel); - IActionResult result = this.UserController.GetById(id, null).Result; + IActionResult result = this._userController.GetById(id, null).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -119,9 +139,11 @@ namespace DevHive.Web.Tests [Test] public void GetById_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized() { - this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(false); - IActionResult result = this.UserController.GetById(Guid.NewGuid(), null).Result; + IActionResult result = this._userController.GetById(Guid.NewGuid(), null).Result; Assert.IsInstanceOf<UnauthorizedResult>(result); } @@ -138,10 +160,14 @@ namespace DevHive.Web.Tests UserName = USERNAME }; - this.UserServiceMock.Setup(p => p.GetUserByUsername(It.IsAny<string>())).Returns(Task.FromResult(userServiceModel)); - this.MapperMock.Setup(p => p.Map<UserWebModel>(It.IsAny<UserServiceModel>())).Returns(userWebModel); + this._userServiceMock + .Setup(p => p.GetUserByUsername(It.IsAny<string>())) + .ReturnsAsync(userServiceModel); + this._mapperMock + .Setup(p => p.Map<UserWebModel>(It.IsAny<UserServiceModel>())) + .Returns(userWebModel); - IActionResult result = this.UserController.GetUser(null).Result; + IActionResult result = this._userController.GetUser(null).Result; Assert.IsInstanceOf<OkObjectResult>(result); @@ -170,45 +196,20 @@ namespace DevHive.Web.Tests UserName = USERNAME }; - this.UserServiceMock.Setup(p => p.UpdateUser(It.IsAny<UpdateUserServiceModel>())).Returns(Task.FromResult(userServiceModel)); - this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map<UpdateUserServiceModel>(It.IsAny<UpdateUserWebModel>())).Returns(updateUserServiceModel); + this._userServiceMock + .Setup(p => p.UpdateUser(It.IsAny<UpdateUserServiceModel>())) + .ReturnsAsync(userServiceModel); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._mapperMock + .Setup(p => p.Map<UpdateUserServiceModel>(It.IsAny<UpdateUserWebModel>())) + .Returns(updateUserServiceModel); - IActionResult result = this.UserController.Update(id, updateUserWebModel, null).Result; + IActionResult result = this._userController.Update(id, updateUserWebModel, null).Result; Assert.IsInstanceOf<AcceptedResult>(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<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); - this.MapperMock.Setup(p => p.Map<UpdateProfilePictureServiceModel>(It.IsAny<UpdateProfilePictureWebModel>())).Returns(updateProfilePictureServiceModel); - this.UserServiceMock.Setup(p => p.UpdateProfilePicture(It.IsAny<UpdateProfilePictureServiceModel>())).Returns(Task.FromResult(profilePictureServiceModel)); - this.MapperMock.Setup(p => p.Map<ProfilePictureWebModel>(It.IsAny<ProfilePictureServiceModel>())).Returns(profilePictureWebModel); - - - IActionResult result = this.UserController.UpdateProfilePicture(Guid.Empty, updateProfilePictureWebModel, null).Result; - - Assert.IsInstanceOf<AcceptedResult>(result); - - AcceptedResult acceptedResult = result as AcceptedResult; - ProfilePictureWebModel resultModel = acceptedResult.Value as ProfilePictureWebModel; - - Assert.AreEqual(profilePictureURL, resultModel.ProfilePictureURL); - } #endregion #region Delete @@ -217,10 +218,14 @@ namespace DevHive.Web.Tests { Guid id = Guid.NewGuid(); - this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); - this.UserServiceMock.Setup(p => p.DeleteUser(It.IsAny<Guid>())).Returns(Task.FromResult(true)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._userServiceMock + .Setup(p => p.DeleteUser(It.IsAny<Guid>())) + .ReturnsAsync(true); - IActionResult result = this.UserController.Delete(id, null).Result; + IActionResult result = this._userController.Delete(id, null).Result; Assert.IsInstanceOf<OkResult>(result); } @@ -231,10 +236,14 @@ namespace DevHive.Web.Tests string message = "Could not delete User"; Guid id = Guid.NewGuid(); - this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true)); - this.UserServiceMock.Setup(p => p.DeleteUser(It.IsAny<Guid>())).Returns(Task.FromResult(false)); + this._jwtServiceMock + .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>())) + .Returns(true); + this._userServiceMock + .Setup(p => p.DeleteUser(It.IsAny<Guid>())) + .ReturnsAsync(false); - IActionResult result = this.UserController.Delete(id, null).Result; + IActionResult result = this._userController.Delete(id, null).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); |
