📝 Dockerfile Test
continuous-integration/drone/push Build is failing Details

Api
Noan07 2 years ago
parent f48b5e2fc7
commit 2c89f32cf6

@ -84,12 +84,12 @@ namespace ApiLeapHit.Controllers
return NotFound(new ApiResponse<object>("Le message n'a pas été trouvé."));
}
var response = new ApiResponse<DTOMessage>("Joueur ajouté avec succès.");
response.Links.Add(new ApiLink(
Url.Action("GetPlayer", "Player", new { id = player.playerId }),
"self",
"GET"
));
//var response = new ApiResponse<DTOMessage>("Joueur ajouté avec succès.");
//response.Links.Add(new ApiLink(
// Url.Action("GetPlayer", "Player", new { id = player.playerId }),
// "self",
// "GET"
//));
_logger.LogInformation($"Le message avec l'identifiant {id} a été reçu avec succès.");
return Ok(new ApiResponse<DTOMessage>("Message reçu avec succès.", message.ToDto()));

@ -62,7 +62,7 @@ namespace ApiLeapHit.Controllers
}
[HttpPost]
public async Task<ActionResult> AddPlayer([FromBody] DTOPlayer dtoPlayer)
public async Task<ActionResult<ApiResponse<object>>> AddPlayer([FromBody] DTOPlayer dtoPlayer)
{
try
{
@ -70,10 +70,12 @@ namespace ApiLeapHit.Controllers
await _dataManager.AddPlayer(player);
var url = Url.Action("GetPlayer", "Player", new { id = 9 });
// Ajout des liens HATEOAS
var response = new ApiResponse<DTOPlayer>("Joueur ajouté avec succès.");
var response = new ApiResponse<object>("Joueur ajouté avec succès.");
response.Links.Add(new ApiLink(
Url.Action("GetPlayer", "Player", new { id = player.playerId }),
href: url,
"self",
"GET"
));
@ -104,35 +106,35 @@ namespace ApiLeapHit.Controllers
var response = new ApiResponse<IEnumerable<DTOPlayer>>($"La récupération des players a réussi. Nombre de players : {dtoPlayers.Count}", dtoPlayers);
// Ajout des liens HATEOAS
//response.Links.Add(new ApiLink(
// Url.Action("GetPlayers", "Player"),
// "self",
// "GET"
//));
//response.Links.Add(new ApiLink(
// Url.Action("AddPlayer", "Player"),
// "create",
// "POST"
//));
//foreach (var player in dtoPlayers)
//{
// response.Links.Add(new ApiLink(
// Url.Action("GetPlayer", "Player", new { id = player.playerId }),
// "get_player",
// "GET"
// ));
// response.Links.Add(new ApiLink(
// Url.Action("RemovePlayer", "Player", new { id = player.playerId }),
// "delete_player",
// "DELETE"
// ));
// response.Links.Add(new ApiLink(
// Url.Action("Put", "Player", new { id = player.playerId }),
// "update_player",
// "PUT"
// ));
//}
response.Links.Add(new ApiLink(
Url.Action("GetPlayers", "Player"),
"self",
"GET"
));
response.Links.Add(new ApiLink(
Url.Action("AddPlayer", "Player"),
"create",
"POST"
));
foreach (var player in dtoPlayers)
{
response.Links.Add(new ApiLink(
Url.Action("GetPlayer", "Player", new { id = player.playerId }),
"get_player",
"GET"
));
response.Links.Add(new ApiLink(
Url.Action("RemovePlayer", "Player", new { id = player.playerId }),
"delete_player",
"DELETE"
));
response.Links.Add(new ApiLink(
Url.Action("Put", "Player", new { id = player.playerId }),
"update_player",
"PUT"
));
}
return Ok(response);
}

@ -11,8 +11,7 @@ namespace DTO.Factory
{
public string Message { get; set; }
public T Data { get; set; }
public List<ApiLink> Links { get; set; }
private List<ApiLink> links = new();
public List<ApiLink> Links { get; set; } = new List<ApiLink>();
public ApiResponse(string message, T data = default)

Binary file not shown.

@ -9,6 +9,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
<PackageReference Include="Moq" Version="4.18.4" />
<PackageReference Include="MSTest.TestAdapter" Version="2.2.7" />
<PackageReference Include="MSTest.TestFramework" Version="2.2.7" />
<PackageReference Include="coverlet.collector" Version="3.1.0" />

@ -8,6 +8,7 @@ using DTO.Factory;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
using System.Net;
using System.Text.Json;
using System.Threading.Tasks;
@ -21,25 +22,23 @@ namespace TestControleurs
public async Task TestGetPlayer_ValidId()
{
// Arrange
int id = 8;
DbDataManager dataManager = new DbDataManager();
ILoggerFactory loggerFactory = LoggerFactory.Create(builder => builder.AddConsole());
int id = 9;
var mockDataManager = new Mock<DbDataManager>();
var mockLogger = new Mock<ILogger<PlayerController>>();
var player = new Player { playerId = id, name = "Test Player", nbBallTouchTotal = 0, timePlayed = 3 };
var controller = new PlayerController(dataManager, loggerFactory.CreateLogger<PlayerController>());
var controller = new PlayerController(mockDataManager.Object, mockLogger.Object);
var rep = await controller.AddPlayer(player.ToDto());
// Act
var result = await controller.GetPlayer(id);
var objectResult = (ObjectResult)result.Result;
var apiResponse = (ApiResponse<DTOPlayer>)objectResult.Value;
var apiResponse = objectResult.Value as ApiResponse<DTOPlayer>;
// Assert
Assert.IsNotNull(objectResult);
Assert.AreEqual((int)HttpStatusCode.OK, objectResult.StatusCode);
Assert.AreEqual(apiResponse.Data.playerId, id);
}
}

Loading…
Cancel
Save