aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Tests/DevHive.Web.Tests/CommentController.Tests.cs
diff options
context:
space:
mode:
authorKamen Mladenov <kamen.d.mladenov@protonmail.com>2021-04-09 19:51:35 +0300
committerGitHub <noreply@github.com>2021-04-09 19:51:35 +0300
commit233f38915ba0079079233eff55434ef349c05c45 (patch)
tree6c5f69017865bcab87355e910c87339453da1406 /src/DevHive.Tests/DevHive.Web.Tests/CommentController.Tests.cs
parentf4a70c6430db923af9fa9958a11c2d6612cb52cc (diff)
parenta992357efcf1bc1ece81b95ecee5e05a0b73bfdc (diff)
downloadDevHive-233f38915ba0079079233eff55434ef349c05c45.tar
DevHive-233f38915ba0079079233eff55434ef349c05c45.tar.gz
DevHive-233f38915ba0079079233eff55434ef349c05c45.zip
Merge pull request #28 from Team-Kaleidoscope/devHEADv0.2mainheroku/main
Second stage: Complete
Diffstat (limited to 'src/DevHive.Tests/DevHive.Web.Tests/CommentController.Tests.cs')
-rw-r--r--src/DevHive.Tests/DevHive.Web.Tests/CommentController.Tests.cs256
1 files changed, 0 insertions, 256 deletions
diff --git a/src/DevHive.Tests/DevHive.Web.Tests/CommentController.Tests.cs b/src/DevHive.Tests/DevHive.Web.Tests/CommentController.Tests.cs
deleted file mode 100644
index 3a03f1a..0000000
--- a/src/DevHive.Tests/DevHive.Web.Tests/CommentController.Tests.cs
+++ /dev/null
@@ -1,256 +0,0 @@
-using System;
-using System.Linq;
-using System.Threading.Tasks;
-using AutoMapper;
-using DevHive.Services.Interfaces;
-using DevHive.Services.Models.Comment;
-using DevHive.Web.Controllers;
-using DevHive.Web.Models.Comment;
-using Microsoft.AspNetCore.Mvc;
-using Moq;
-using NUnit.Framework;
-
-namespace DevHive.Web.Tests
-{
- [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; }
-
- #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);
- }
- #endregion
-
- #region Add
- [Test]
- public void AddComment_ReturnsOkObjectResult_WhenCommentIsSuccessfullyCreated()
- {
- Guid id = Guid.NewGuid();
- CreateCommentWebModel createCommentWebModel = new CreateCommentWebModel
- {
- Message = MESSAGE
- };
- CreateCommentServiceModel createCommentServiceModel = new CreateCommentServiceModel
- {
- 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;
-
- Assert.IsInstanceOf<OkObjectResult>(result);
-
- var splitted = (result as OkObjectResult).Value
- .ToString()
- .Split('{', '}', '=', ' ')
- .Where(x => !string.IsNullOrEmpty(x))
- .ToArray();
-
- Guid resultId = Guid.Parse(splitted[1]);
-
- Assert.AreEqual(id, resultId);
- }
-
- [Test]
- public void AddComment_ReturnsBadRequestObjectResult_WhenCommentIsNotCreatedSuccessfully()
- {
- Guid id = Guid.NewGuid();
- CreateCommentWebModel createCommentWebModel = new CreateCommentWebModel
- {
- Message = MESSAGE
- };
- CreateCommentServiceModel createCommentServiceModel = new CreateCommentServiceModel
- {
- Message = MESSAGE
- };
- 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));
-
- IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result;
-
- Assert.IsInstanceOf<BadRequestObjectResult>(result);
-
- BadRequestObjectResult badRequsetObjectResult = result as BadRequestObjectResult;
- string resultMessage = badRequsetObjectResult.Value.ToString();
-
- Assert.AreEqual(errorMessage, resultMessage);
- }
-
- [Test]
- public void AddComment_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized()
- {
- Guid id = Guid.NewGuid();
- CreateCommentWebModel createCommentWebModel = new CreateCommentWebModel
- {
- Message = MESSAGE
- };
-
- this.CommentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false));
-
- IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result;
-
- Assert.IsInstanceOf<UnauthorizedResult>(result);
- }
- #endregion
-
- #region Read
- [Test]
- public void GetById_ReturnsTheComment_WhenItExists()
- {
- Guid id = Guid.NewGuid();
-
- ReadCommentServiceModel readCommentServiceModel = new ReadCommentServiceModel
- {
- Message = MESSAGE
- };
- ReadCommentWebModel readCommentWebModel = new ReadCommentWebModel
- {
- 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);
-
- IActionResult result = this.CommentController.GetCommentById(id).Result;
-
- Assert.IsInstanceOf<OkObjectResult>(result);
-
- OkObjectResult okObjectResult = result as OkObjectResult;
- ReadCommentWebModel resultModel = okObjectResult.Value as Models.Comment.ReadCommentWebModel;
-
- Assert.AreEqual(MESSAGE, resultModel.Message);
- }
- #endregion
-
- #region Update
- [Test]
- public void Update_ShouldReturnOkResult_WhenCommentIsUpdatedSuccessfully()
- {
- Guid id = Guid.NewGuid();
- UpdateCommentWebModel updateCommentWebModel = new UpdateCommentWebModel
- {
- NewMessage = MESSAGE
- };
- UpdateCommentServiceModel updateCommentServiceModel = new UpdateCommentServiceModel
- {
- 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;
-
- Assert.IsInstanceOf<OkObjectResult>(result);
-
- OkObjectResult okObjectResult = result as OkObjectResult;
- object resultModel = okObjectResult.Value;
- string[] resultAsString = resultModel.ToString().Split(' ').ToArray();
-
- Assert.AreEqual(id.ToString(), resultAsString[3]);
- }
-
- [Test]
- public void Update_ShouldReturnBadObjectResult_WhenCommentIsNotUpdatedSuccessfully()
- {
- string message = "Unable to update comment!";
- UpdateCommentWebModel updateCommentWebModel = new UpdateCommentWebModel
- {
- NewMessage = MESSAGE
- };
- UpdateCommentServiceModel updateCommentServiceModel = new UpdateCommentServiceModel
- {
- 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;
- Assert.IsInstanceOf<BadRequestObjectResult>(result);
-
- BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult;
- string resultModel = badRequestObjectResult.Value.ToString();
-
- Assert.AreEqual(message, resultModel);
- }
-
- [Test]
- public void Update_ShouldReturnUnauthorizedResult_WhenUserIsNotAuthorized()
- {
- UpdateCommentWebModel updateCommentWebModel = new UpdateCommentWebModel
- {
- NewMessage = MESSAGE
- };
-
- this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false));
-
- IActionResult result = this.CommentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result;
-
- Assert.IsInstanceOf<UnauthorizedResult>(result);
- }
- #endregion
-
- #region Delete
- [Test]
- public void Delete_ReturnsOkResult_WhenCommentIsDeletedSuccessfully()
- {
- 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));
-
- IActionResult result = this.CommentController.DeleteComment(id, null).Result;
-
- Assert.IsInstanceOf<OkResult>(result);
- }
-
- [Test]
- public void DeletComment_ReturnsBadRequestObjectResult_WhenCommentIsNotDeletedSuccessfully()
- {
- 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));
-
- IActionResult result = this.CommentController.DeleteComment(id, null).Result;
-
- Assert.IsInstanceOf<BadRequestObjectResult>(result);
-
- BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult;
- string resultModel = badRequestObjectResult.Value.ToString();
-
- Assert.AreEqual(message, resultModel);
- }
-
- [Test]
- public void DeletComment_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;
-
- Assert.IsInstanceOf<UnauthorizedResult>(result);
- }
- #endregion
- }
-}