diff --git a/Sources/BowlingApi/Controllers/PartieController.cs b/Sources/BowlingApi/Controllers/PartieController.cs index 4d9702f..f700311 100644 --- a/Sources/BowlingApi/Controllers/PartieController.cs +++ b/Sources/BowlingApi/Controllers/PartieController.cs @@ -6,6 +6,7 @@ using BowlingEF.Entities; using BowlingLib.Model; using BowlingService; using BowlingService.Interfaces; +using DTOs; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; @@ -127,7 +128,15 @@ namespace BowlingApi.Controllers } + public Task Put(int? score, PartieDTO partie) + { + throw new NotImplementedException(); + } + public Task Put(long id, PartieDTO parti) + { + throw new NotImplementedException(); + } } } diff --git a/Sources/DTOs/PartieDTO.cs b/Sources/DTOs/PartieDTO.cs index 62334dd..b42e18b 100644 --- a/Sources/DTOs/PartieDTO.cs +++ b/Sources/DTOs/PartieDTO.cs @@ -15,7 +15,8 @@ namespace DTOs public class PartieDTO { #region Properties - + [Key] + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public long Id { get; set; } public JoueurDTO Joueur { get; set; } diff --git a/Sources/Tests/BowlingAPITest/TestPartiControlleur.cs b/Sources/Tests/BowlingAPITest/TestPartiControlleur.cs index 7847146..62b90f5 100644 --- a/Sources/Tests/BowlingAPITest/TestPartiControlleur.cs +++ b/Sources/Tests/BowlingAPITest/TestPartiControlleur.cs @@ -86,8 +86,111 @@ namespace BowlingAPITest okResult.Value.Should().BeEquivalentTo(parti); } + //post + [Fact] + public async Task Put_With_Invalid_Joueur_Should_Return_BadRequest() + { + // Arrange + var joueurController = new JoueurController(null); + + // Act + var result = await joueurController.Put(null, null); + + // Assert + result.Should().BeOfType>(); + var actionResult = result as ActionResult; + actionResult.Result.Should().BeOfType(); + var badRequestResult = actionResult.Result as BadRequestObjectResult; + badRequestResult.Value.Should().Be("Le joueur est obligatoire"); + } + + [Fact] + public async Task Put_With_Valid_parti_Should_Return_Ok_With_Joueur() + { + // Arrange + var parti = new PartieDTO { Id = 1, Score = 1 }; + var partiServiceMock = new Mock(); + partiServiceMock.Setup(x => x.Update(parti)).ReturnsAsync(true); + var partiControlleur = new PartieController(partiServiceMock.Object); + + // Act + var result = await partiControlleur.Put(parti.Id, parti); + + // Assert + result.Should().BeOfType>(); + var actionResult = result as ActionResult; + actionResult.Result.Should().BeOfType(); + } + + //test Get_ShouldReturnNotFound + [Fact] + public async Task Get_ShouldReturnNotFound() + { + // Arrange + var mockService = new Mock(); + mockService.Setup(service => service.GetAll()).ReturnsAsync((List)null); + var controller = new PartieController(mockService.Object); + + // Act + var result = await controller.Get(); + + // Assert + result.Should().BeOfType(); + } + + [Fact] + public async Task Get_White_Name_ShouldReturnNotFound() + { + // Arrange + + var partie1 = new PartieDTO { Score = 1 }; + var mockService = new Mock(); + mockService.Setup(service => service.GetDataWithName("Jane Smith")).ReturnsAsync(partie1); + var controller = new PartieController(mockService.Object); + + // Act + var result = await controller.Get("John Doe"); + + // Assert + result.Should().BeOfType(); + } + [Fact] + public async Task Get_ShouldReturnInternalServerError() + { + // Arrange + var mockService = new Mock(); + mockService.Setup(service => service.GetAll()).ThrowsAsync(new Exception()); + var controller = new PartieController(mockService.Object); + + // Act + var result = await controller.Get() as ObjectResult; + + // Assert + result.Should().BeOfType(); + result.StatusCode.Should().Be(500); + } + [Fact] + public async Task Post_With_Invalid_Joueur_Should_Return_BadRequest() + { + // Arrange + var joueurController = new JoueurController(null); + + // Act + var result = await joueurController.Post(null); + + // Assert + result.Should().BeOfType>(); + var actionResult = result as ActionResult; + actionResult.Result.Should().BeOfType(); + var badRequestResult = actionResult.Result as BadRequestObjectResult; + badRequestResult.Value.Should().Be("La partie est obligatoire"); + } + + + + } - + }