From e1c488e252ede4f4f9d7d09ef4b1b1e1244304b8 Mon Sep 17 00:00:00 2001 From: Noan07 <84435602+Noan07@users.noreply.github.com> Date: Mon, 27 Feb 2023 21:44:26 +0100 Subject: [PATCH] =?UTF-8?q?:hammer:=20D=C3=A9but=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataBase/Context/PongDbContextWithStub.cs | 2 +- code/server/DataBase/Entity/Game.cs | 4 +++ .../TestControleurs/TestControleurs.csproj | 6 ++++ code/server/TestControleurs/UnitTestGames.cs | 30 ++++++++++++++++++- 4 files changed, 40 insertions(+), 2 deletions(-) diff --git a/code/server/DataBase/Context/PongDbContextWithStub.cs b/code/server/DataBase/Context/PongDbContextWithStub.cs index fe6a6bd..216e718 100644 --- a/code/server/DataBase/Context/PongDbContextWithStub.cs +++ b/code/server/DataBase/Context/PongDbContextWithStub.cs @@ -19,7 +19,7 @@ namespace DataBase.Context Player player2 = new() { playerId = 2, name = "Hugo", timePlayed = 250, nbBallTouchTotal = 90 }; modelBuilder.Entity().HasData(player1, player2); - Game game = new() { gameId = 1, durationGame = 65, nbMaxEchanges = 5, winner = 1, loser = 2 }; + Game game = new() { gameId = 1, durationGame = 65, nbMaxEchanges = 5, winner = 1, loser = 2, scoreLoser = 2, scoreWinner = 6}; modelBuilder.Entity().HasData(game); Chat chat = new() { chatId = 1, player1 = 1, player2 = 2 }; diff --git a/code/server/DataBase/Entity/Game.cs b/code/server/DataBase/Entity/Game.cs index 56ed7b0..bb5b470 100644 --- a/code/server/DataBase/Entity/Game.cs +++ b/code/server/DataBase/Entity/Game.cs @@ -12,6 +12,10 @@ namespace DataBase.Entity public int winner { get; set; } public int loser { get; set; } + public int scoreWinner { get; set; } + + public int scoreLoser { get; set; } + [ForeignKey("winner")] public Player PlayerWinner { get; set; } diff --git a/code/server/TestControleurs/TestControleurs.csproj b/code/server/TestControleurs/TestControleurs.csproj index f72bee8..f0f4adc 100644 --- a/code/server/TestControleurs/TestControleurs.csproj +++ b/code/server/TestControleurs/TestControleurs.csproj @@ -14,4 +14,10 @@ + + + + + + diff --git a/code/server/TestControleurs/UnitTestGames.cs b/code/server/TestControleurs/UnitTestGames.cs index 5421357..e7c226f 100644 --- a/code/server/TestControleurs/UnitTestGames.cs +++ b/code/server/TestControleurs/UnitTestGames.cs @@ -1,4 +1,15 @@ +using ApiLeapHit.Controllers; +using ApiLeapHit.Mapper; +using DataBase.DataManager; +using DataBase.Entity; +using DTO; +using DTO.Factory; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using Microsoft.VisualStudio.TestTools.UnitTesting; +using System.Net; +using System.Text.Json; +using System.Threading.Tasks; namespace TestControleurs { @@ -6,8 +17,25 @@ namespace TestControleurs public class UnitTestGames { [TestMethod] - public void TestMethod1() + public async Task TestGetPlayer_ValidId() { + // Arrange + int id = 1; + DbDataManager dataManager = new DbDataManager(); + ILoggerFactory loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); + var player = new Player { playerId = id, name = "Test Player", nbBallTouchTotal = 0, timePlayed = 3 }; + var controller = new PlayerController(dataManager, loggerFactory.CreateLogger()); + await controller.AddPlayer(player.ToDto()); + + // Act + var result = await controller.GetPlayer(id); + var objectResult = (ObjectResult)result.Result; + var apiResponse = JsonSerializer.Deserialize>(objectResult.Value); + + // Assert + Assert.IsNotNull(apiResponse); + Assert.AreEqual((int)HttpStatusCode.OK, objectResult.StatusCode); + Assert.AreEqual(apiResponse.Data.playerId, id); } } } \ No newline at end of file