diff options
| author | Danail Dimitrov <danaildimitrov321@gmail.com> | 2021-01-21 19:30:25 +0200 |
|---|---|---|
| committer | Danail Dimitrov <danaildimitrov321@gmail.com> | 2021-01-21 19:30:25 +0200 |
| commit | 4417b86ccd570f1f5637afc7460ef70fcf1c47c2 (patch) | |
| tree | 57494e95274e7725334c9176c4c2901ef760a11d /src/DevHive.Tests/DevHive.Web.Tests/TechnologyController.Tests.cs | |
| parent | 9e86699c9b3aff17e0c4d19850b41b792a9625ef (diff) | |
| download | DevHive-4417b86ccd570f1f5637afc7460ef70fcf1c47c2.tar DevHive-4417b86ccd570f1f5637afc7460ef70fcf1c47c2.tar.gz DevHive-4417b86ccd570f1f5637afc7460ef70fcf1c47c2.zip | |
Refactored technology layer tests to be async
Diffstat (limited to 'src/DevHive.Tests/DevHive.Web.Tests/TechnologyController.Tests.cs')
| -rw-r--r-- | src/DevHive.Tests/DevHive.Web.Tests/TechnologyController.Tests.cs | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/src/DevHive.Tests/DevHive.Web.Tests/TechnologyController.Tests.cs b/src/DevHive.Tests/DevHive.Web.Tests/TechnologyController.Tests.cs index 7e6b3a2..3087f5d 100644 --- a/src/DevHive.Tests/DevHive.Web.Tests/TechnologyController.Tests.cs +++ b/src/DevHive.Tests/DevHive.Web.Tests/TechnologyController.Tests.cs @@ -1,12 +1,15 @@ using AutoMapper; +using DevHive.Common.Models.Misc; using DevHive.Services.Interfaces; using DevHive.Services.Models.Technology; using DevHive.Web.Controllers; using DevHive.Web.Models.Technology; using Microsoft.AspNetCore.Mvc; using Moq; +using Newtonsoft.Json; using NUnit.Framework; using System; +using System.Linq; using System.Threading.Tasks; namespace DevHive.Web.Tests @@ -30,7 +33,7 @@ namespace DevHive.Web.Tests #region Create [Test] public void Create_ReturnsOkObjectResult_WhenTechnologyIsSuccessfullyCreated() - { + { CreateTechnologyWebModel createTechnologyWebModel = new CreateTechnologyWebModel { Name = NAME @@ -39,13 +42,24 @@ namespace DevHive.Web.Tests { Name = NAME }; + Guid id = Guid.NewGuid(); this.MapperMock.Setup(p => p.Map<CreateTechnologyServiceModel>(It.IsAny<CreateTechnologyWebModel>())).Returns(createTechnologyServiceModel); - this.TechnologyServiceMock.Setup(p => p.Create(It.IsAny<CreateTechnologyServiceModel>())).Returns(Task.FromResult(true)); + this.TechnologyServiceMock.Setup(p => p.Create(It.IsAny<CreateTechnologyServiceModel>())).Returns(Task.FromResult(id)); IActionResult result = this.TechnologyController.Create(createTechnologyWebModel).Result; - Assert.IsInstanceOf<OkResult>(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] @@ -59,13 +73,20 @@ namespace DevHive.Web.Tests { Name = NAME }; + 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.Create(It.IsAny<CreateTechnologyServiceModel>())).Returns(Task.FromResult(false)); + this.TechnologyServiceMock.Setup(p => p.Create(It.IsAny<CreateTechnologyServiceModel>())).Returns(Task.FromResult(id)); IActionResult result = this.TechnologyController.Create(createTechnologyWebModel).Result; Assert.IsInstanceOf<BadRequestObjectResult>(result); + + BadRequestObjectResult badRequsetObjectResult = result as BadRequestObjectResult; + string resultMessage = badRequsetObjectResult.Value.ToString(); + + Assert.AreEqual(errorMessage, resultMessage); } #endregion @@ -112,7 +133,7 @@ namespace DevHive.Web.Tests Name = NAME }; - this.TechnologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny<Guid>(), It.IsAny<UpdateTechnologyServiceModel>())).Returns(Task.FromResult(true)); + 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); IActionResult result = this.TechnologyController.Update(id, updateTechnologyWebModel).Result; @@ -121,7 +142,7 @@ namespace DevHive.Web.Tests } [Test] - public void Update_ShouldReturnOkResult_WhenTechnologyIsNotUpdatedSuccessfully () + public void Update_ShouldReturnOkResult_WhenTechnologyIsNotUpdatedSuccessfully() { Guid id = Guid.NewGuid(); string message = "Could not update Technology"; @@ -134,7 +155,7 @@ namespace DevHive.Web.Tests Name = NAME }; - this.TechnologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny<Guid>(), It.IsAny<UpdateTechnologyServiceModel>())).Returns(Task.FromResult(false)); + 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); IActionResult result = this.TechnologyController.Update(id, updateTechnologyWebModel).Result; |
