Add some Tests
continuous-integration/drone/push Build is passing Details

deploiementJeanMarcillacWeb1
Tony Fages 1 year ago
parent c4bfac2f9a
commit a786b4c071

@ -212,15 +212,13 @@ namespace API.Controllers
_logger.LogInformation("Executing {Action} - with parameters: {Parameters}",nameof(UpdateArticleUser), articleUser);
try
{
// Retrieve the existing entity
var existingEntity = await _dataManager.UserService.GetArticleUser(articleUser.UserEntityPseudo);
var existingEntity = (await _dataManager.UserService.GetArticleUser(articleUser.UserEntityPseudo)).Select(a => a.ToDTO());
if (existingEntity == null)
{
return NotFound($"ArticleUser {articleUser.UserEntityPseudo} does not exist");
}
// Delete the existing entity
var deleteResult = await _dataManager.UserService.DeleteArticleUser(articleUser.UserEntityPseudo, oldId);
if (!deleteResult)
@ -228,7 +226,6 @@ namespace API.Controllers
return BadRequest($"Failed to delete ArticleUser {articleUser.UserEntityPseudo}");
}
// Create a new entity with the updated values
var createResult = await _dataManager.UserService.CreateArticleUser(articleUser);
if (createResult == null)

@ -1,9 +1,11 @@
using API_Mapping;
using API.Controllers;
using Entities;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Model;
using Moq;
using Web_API.Model;
namespace API_Unit_Test;
@ -92,4 +94,48 @@ public class UserControllerTests
Assert.IsType<BadRequestObjectResult>(result);
}
[Fact]
public async Task CreateArticleUser_ReturnsOk_WithNewArticleUser()
{
// Arrange
var articleUser = new ArticleUserEntity { UserEntityPseudo = "User1", ArticleEntityId = 1 };
_mockDataManager.Setup(m => m.UserService.CreateArticleUser(articleUser)).ReturnsAsync(true);
// Act
var result = await _controller.CreateArticleUser(articleUser);
// Assert
Assert.IsType<OkObjectResult>(result);
}
[Fact]
public async Task UpdateArticleUser_ReturnsOk_WhenUpdated()
{
// Arrange
var articleUser = new ArticleUserEntity { UserEntityPseudo = "User1", ArticleEntityId = 2 };
_mockDataManager.Setup(m => m.UserService.DeleteArticleUser(It.IsAny<string>(), It.IsAny<long>())).ReturnsAsync(true);
_mockDataManager.Setup(m => m.UserService.CreateArticleUser(It.IsAny<ArticleUserEntity>())).ReturnsAsync(true);
// Act
var result = await _controller.UpdateArticleUser(articleUser, 1);
// Assert
Assert.IsType<OkObjectResult>(result);
}
[Fact]
public async Task DeleteArticleUser_ReturnsOk_WhenDeleted()
{
// Arrange
_mockDataManager.Setup(m => m.UserService.DeleteArticleUser(It.IsAny<string>(), It.IsAny<long>())).ReturnsAsync(true);
// Act
var result = await _controller.DeleteArticleUser("User1", 1);
// Assert
Assert.IsType<OkObjectResult>(result);
}
}
Loading…
Cancel
Save