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

@ -62,7 +62,7 @@ namespace ApiLeapHit.Controllers
} }
[HttpPost] [HttpPost]
public async Task<ActionResult> AddPlayer([FromBody] DTOPlayer dtoPlayer) public async Task<ActionResult<ApiResponse<object>>> AddPlayer([FromBody] DTOPlayer dtoPlayer)
{ {
try try
{ {
@ -70,10 +70,12 @@ namespace ApiLeapHit.Controllers
await _dataManager.AddPlayer(player); await _dataManager.AddPlayer(player);
var url = Url.Action("GetPlayer", "Player", new { id = 9 });
// Ajout des liens HATEOAS // 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( response.Links.Add(new ApiLink(
Url.Action("GetPlayer", "Player", new { id = player.playerId }), href: url,
"self", "self",
"GET" "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); 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 // Ajout des liens HATEOAS
//response.Links.Add(new ApiLink( response.Links.Add(new ApiLink(
// Url.Action("GetPlayers", "Player"), Url.Action("GetPlayers", "Player"),
// "self", "self",
// "GET" "GET"
//)); ));
//response.Links.Add(new ApiLink( response.Links.Add(new ApiLink(
// Url.Action("AddPlayer", "Player"), Url.Action("AddPlayer", "Player"),
// "create", "create",
// "POST" "POST"
//)); ));
//foreach (var player in dtoPlayers) foreach (var player in dtoPlayers)
//{ {
// response.Links.Add(new ApiLink( response.Links.Add(new ApiLink(
// Url.Action("GetPlayer", "Player", new { id = player.playerId }), Url.Action("GetPlayer", "Player", new { id = player.playerId }),
// "get_player", "get_player",
// "GET" "GET"
// )); ));
// response.Links.Add(new ApiLink( response.Links.Add(new ApiLink(
// Url.Action("RemovePlayer", "Player", new { id = player.playerId }), Url.Action("RemovePlayer", "Player", new { id = player.playerId }),
// "delete_player", "delete_player",
// "DELETE" "DELETE"
// )); ));
// response.Links.Add(new ApiLink( response.Links.Add(new ApiLink(
// Url.Action("Put", "Player", new { id = player.playerId }), Url.Action("Put", "Player", new { id = player.playerId }),
// "update_player", "update_player",
// "PUT" "PUT"
// )); ));
//} }
return Ok(response); return Ok(response);
} }

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

Binary file not shown.

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

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

Loading…
Cancel
Save