diff --git a/code/server/ApiLeapHit/Controllers/MessageController.cs b/code/server/ApiLeapHit/Controllers/MessageController.cs index 48125af..bb1422f 100644 --- a/code/server/ApiLeapHit/Controllers/MessageController.cs +++ b/code/server/ApiLeapHit/Controllers/MessageController.cs @@ -84,12 +84,12 @@ namespace ApiLeapHit.Controllers return NotFound(new ApiResponse("Le message n'a pas été trouvé.")); } - var response = new ApiResponse("Joueur ajouté avec succès."); - response.Links.Add(new ApiLink( - Url.Action("GetPlayer", "Player", new { id = player.playerId }), - "self", - "GET" - )); + //var response = new ApiResponse("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("Message reçu avec succès.", message.ToDto())); diff --git a/code/server/ApiLeapHit/Controllers/PlayerController.cs b/code/server/ApiLeapHit/Controllers/PlayerController.cs index f6f16c2..dde6a8b 100644 --- a/code/server/ApiLeapHit/Controllers/PlayerController.cs +++ b/code/server/ApiLeapHit/Controllers/PlayerController.cs @@ -62,7 +62,7 @@ namespace ApiLeapHit.Controllers } [HttpPost] - public async Task AddPlayer([FromBody] DTOPlayer dtoPlayer) + public async Task>> 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("Joueur ajouté avec succès."); + var response = new ApiResponse("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>($"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); } diff --git a/code/server/DTO/Factory/ApiResponse.cs b/code/server/DTO/Factory/ApiResponse.cs index 76b0e76..dc22909 100644 --- a/code/server/DTO/Factory/ApiResponse.cs +++ b/code/server/DTO/Factory/ApiResponse.cs @@ -11,8 +11,7 @@ namespace DTO.Factory { public string Message { get; set; } public T Data { get; set; } - public List Links { get; set; } - private List links = new(); + public List Links { get; set; } = new List(); public ApiResponse(string message, T data = default) diff --git a/code/server/DataBase/PongDB.db b/code/server/DataBase/PongDB.db index 5f094b9..07e0a8c 100644 Binary files a/code/server/DataBase/PongDB.db and b/code/server/DataBase/PongDB.db differ diff --git a/code/server/DataBase/PongDB.db-shm b/code/server/DataBase/PongDB.db-shm new file mode 100644 index 0000000..fe9ac28 Binary files /dev/null and b/code/server/DataBase/PongDB.db-shm differ diff --git a/code/server/DataBase/PongDB.db-wal b/code/server/DataBase/PongDB.db-wal new file mode 100644 index 0000000..e69de29 diff --git a/code/server/ApiLeapHit/Dockerfile b/code/server/Dockerfile similarity index 100% rename from code/server/ApiLeapHit/Dockerfile rename to code/server/Dockerfile diff --git a/code/server/TestControleurs/TestControleurs.csproj b/code/server/TestControleurs/TestControleurs.csproj index f0f4adc..a44cde7 100644 --- a/code/server/TestControleurs/TestControleurs.csproj +++ b/code/server/TestControleurs/TestControleurs.csproj @@ -9,6 +9,7 @@ + diff --git a/code/server/TestControleurs/UnitTestGames.cs b/code/server/TestControleurs/UnitTestGames.cs index d024571..10533d6 100644 --- a/code/server/TestControleurs/UnitTestGames.cs +++ b/code/server/TestControleurs/UnitTestGames.cs @@ -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(); + var mockLogger = new Mock>(); var player = new Player { playerId = id, name = "Test Player", nbBallTouchTotal = 0, timePlayed = 3 }; - var controller = new PlayerController(dataManager, loggerFactory.CreateLogger()); - + 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)objectResult.Value; + var apiResponse = objectResult.Value as ApiResponse; // Assert Assert.IsNotNull(objectResult); Assert.AreEqual((int)HttpStatusCode.OK, objectResult.StatusCode); Assert.AreEqual(apiResponse.Data.playerId, id); - } }