aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDanail Dimitrov <danaildimitrov321@gmail.com>2021-01-15 23:49:26 +0200
committerDanail Dimitrov <danaildimitrov321@gmail.com>2021-01-15 23:49:26 +0200
commit61a3e647a8ddb40079f2f72448ca2e6b32a45c8c (patch)
tree57b13ae932624001cc30f8d6a22b24ff4b1cb04d /src
parent64d29a657d7736fc970ae3ea2b0a9217cd406a64 (diff)
downloadDevHive-61a3e647a8ddb40079f2f72448ca2e6b32a45c8c.tar
DevHive-61a3e647a8ddb40079f2f72448ca2e6b32a45c8c.tar.gz
DevHive-61a3e647a8ddb40079f2f72448ca2e6b32a45c8c.zip
Adding TechnologyController Tetsts
Diffstat (limited to 'src')
-rw-r--r--src/DevHive.Data/Repositories/TechnologyRepository.cs11
-rw-r--r--src/DevHive.Tests/DevHive.Web.Tests/TechnologyController.Tests.cs137
2 files changed, 137 insertions, 11 deletions
diff --git a/src/DevHive.Data/Repositories/TechnologyRepository.cs b/src/DevHive.Data/Repositories/TechnologyRepository.cs
index 1631972..73827a7 100644
--- a/src/DevHive.Data/Repositories/TechnologyRepository.cs
+++ b/src/DevHive.Data/Repositories/TechnologyRepository.cs
@@ -27,12 +27,6 @@ namespace DevHive.Data.Repositories
return await RepositoryMethods.SaveChangesAsync(this._context);
}
-
- public async Task<Technology> GetByNameAsync(string technologyName)
- {
- return await this._context.Technologies
- .FirstOrDefaultAsync(x => x.Name == technologyName);
- }
#endregion
#region Read
@@ -43,6 +37,11 @@ namespace DevHive.Data.Repositories
.Set<Technology>()
.FindAsync(id);
}
+ public async Task<Technology> GetByNameAsync(string technologyName)
+ {
+ return await this._context.Technologies
+ .FirstOrDefaultAsync(x => x.Name == technologyName);
+ }
#endregion
#region Edit
diff --git a/src/DevHive.Tests/DevHive.Web.Tests/TechnologyController.Tests.cs b/src/DevHive.Tests/DevHive.Web.Tests/TechnologyController.Tests.cs
index 711f66f..2709c9a 100644
--- a/src/DevHive.Tests/DevHive.Web.Tests/TechnologyController.Tests.cs
+++ b/src/DevHive.Tests/DevHive.Web.Tests/TechnologyController.Tests.cs
@@ -6,6 +6,7 @@ using DevHive.Web.Models.Technology;
using Microsoft.AspNetCore.Mvc;
using Moq;
using NUnit.Framework;
+using System;
using System.Threading.Tasks;
namespace DevHive.Web.Tests
@@ -13,6 +14,7 @@ namespace DevHive.Web.Tests
[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; }
@@ -28,16 +30,14 @@ namespace DevHive.Web.Tests
#region Create
[Test]
public void Create_ReturnsOkObjectResult_WhenTechnologyIsSuccessfullyCreated()
- {
- string name = "Gosho Trapov";
-
+ {
CreateTechnologyWebModel createTechnologyWebModel = new CreateTechnologyWebModel
{
- Name = name
+ Name = NAME
};
CreateTechnologyServiceModel createTechnologyServiceModel = new CreateTechnologyServiceModel
{
- Name = name
+ Name = NAME
};
this.MapperMock.Setup(p => p.Map<CreateTechnologyServiceModel>(It.IsAny<CreateTechnologyWebModel>())).Returns(createTechnologyServiceModel);
@@ -48,8 +48,135 @@ namespace DevHive.Web.Tests
Assert.IsInstanceOf<OkResult>(result);
}
+ [Test]
+ public void Create_ReturnsBadRequestObjectResult_WhenTechnologyIsNotCreatedSuccessfully()
+ {
+ CreateTechnologyWebModel createTechnologyWebModel = new CreateTechnologyWebModel
+ {
+ Name = NAME
+ };
+ CreateTechnologyServiceModel createTechnologyServiceModel = new CreateTechnologyServiceModel
+ {
+ Name = 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));
+
+ IActionResult result = this.TechnologyController.Create(createTechnologyWebModel).Result;
+
+ Assert.IsInstanceOf<BadRequestObjectResult>(result);
+ }
+ #endregion
+
+ #region Read
+ [Test]
+ public void GetById_ReturnsTheThecnology_WhenItExists()
+ {
+ Guid id = new Guid();
+
+ CreateTechnologyServiceModel createTechnologyServiceModel = new CreateTechnologyServiceModel
+ {
+ Name = NAME
+ };
+ CreateTechnologyWebModel createTechnologyWebModel = new CreateTechnologyWebModel
+ {
+ Name = NAME
+ };
+
+ this.TechnologyServiceMock.Setup(p => p.GetTechnologyById(It.IsAny<Guid>())).Returns(Task.FromResult(createTechnologyServiceModel));
+ this.MapperMock.Setup(p => p.Map<CreateTechnologyWebModel>(It.IsAny<CreateTechnologyServiceModel>())).Returns(createTechnologyWebModel);
+
+ IActionResult result = this.TechnologyController.GetById(id).Result;
+
+ Assert.IsInstanceOf<OkObjectResult>(result);
+
+ OkObjectResult okObjectResult = result as OkObjectResult;
+ CreateTechnologyWebModel resultModel = okObjectResult.Value as Models.Technology.CreateTechnologyWebModel;
+
+ Assert.AreEqual(NAME, resultModel.Name);
+ }
+ #endregion
+
+ #region Update
+ [Test]
+ public void Update_ShouldReturnOkResult_WhenTechnologyIsUpdatedSuccessfully()
+ {
+ Guid id = new Guid();
+ UpdateTechnologyWebModel updateTechnologyWebModel = new UpdateTechnologyWebModel
+ {
+ Name = NAME
+ };
+ UpdateTechnologyServiceModel updateTechnologyServiceModel = new UpdateTechnologyServiceModel
+ {
+ Name = NAME
+ };
+
+ this.TechnologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny<Guid>(), 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;
+
+ Assert.IsInstanceOf<OkResult>(result);
+ }
+
+ [Test]
+ public void Update_ShouldReturnOkResult_WhenTechnologyIsNotUpdatedSuccessfully ()
+ {
+ Guid id = new Guid();
+ string message = "Could not update Technology";
+ UpdateTechnologyWebModel updateTechnologyWebModel = new UpdateTechnologyWebModel
+ {
+ Name = NAME
+ };
+ UpdateTechnologyServiceModel updateTechnologyServiceModel = new UpdateTechnologyServiceModel
+ {
+ Name = NAME
+ };
+
+ this.TechnologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny<Guid>(), 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;
+ Assert.IsInstanceOf<BadRequestObjectResult>(result);
+
+ BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult;
+ string resultModel = badRequestObjectResult.Value.ToString();
+ Assert.AreEqual(message, resultModel);
+ }
#endregion
+ #region Delete
+ [Test]
+ public void Delete_ReturnsOkResult_When_TechnologyIsDeletedSuccessfully()
+ {
+ Guid id = new Guid();
+
+ this.TechnologyServiceMock.Setup(p => p.DeleteTechnology(It.IsAny<Guid>())).Returns(Task.FromResult(true));
+
+ IActionResult result = this.TechnologyController.Delete(id).Result;
+
+ Assert.IsInstanceOf<OkResult>(result);
+ }
+
+ [Test]
+ public void Delet_ReturnsBadRequestObjectResult_WhenTechnologyIsNotDeletedSuccessfully()
+ {
+ string message = "Could not delete Technology";
+ Guid id = new Guid();
+
+ this.TechnologyServiceMock.Setup(p => p.DeleteTechnology(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+
+ IActionResult result = this.TechnologyController.Delete(id).Result;
+
+ Assert.IsInstanceOf<BadRequestObjectResult>(result);
+
+ BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult;
+ string resultModel = badRequestObjectResult.Value.ToString();
+
+ Assert.AreEqual(message, resultModel);
+ }
+ #endregion
}
}