fix error
continuous-integration/drone/push Build is passing Details

pull/11/head
Victor Perez NGOUNOU 2 years ago
parent 845df74737
commit 555e1dd4a7

@ -7,6 +7,7 @@ namespace BowlingApi.Controllers;
[ApiController] [ApiController]
[Route("api/[controller]")] [Route("api/[controller]")]
public class JoueurController:Controller public class JoueurController:Controller
{ {
private IJoueurService _joueurService; private IJoueurService _joueurService;
@ -16,8 +17,17 @@ public class JoueurController:Controller
_joueurService = joueurService; _joueurService = joueurService;
} }
// GET: api/Joueur /// <summary>
/// Get all Players
/// </summary>
/// <returns>la liste des Joueurs </returns>
/// <response code="200">Retourne la liste des joueurs</response>
/// <response code="404">Si la liste est vide</response>
/// <response code="500">Si une erreur est survenue</response>
[HttpGet] [HttpGet]
[ProducesResponseType(typeof(string), StatusCodes.Status500InternalServerError)]
[ProducesResponseType(typeof(string), StatusCodes.Status404NotFound)]
[ProducesResponseType(typeof(IEnumerable<JoueurDTO>), StatusCodes.Status200OK)]
public async Task<IActionResult> Get() public async Task<IActionResult> Get()
{ {
try try
@ -36,7 +46,12 @@ public class JoueurController:Controller
} }
} }
// GET: api/Joueur/Djon /// <summary>
/// Get a player by name
/// GET: api/Joueur/Djon
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
[HttpGet("{name}")] [HttpGet("{name}")]
public async Task<IActionResult> Get(string name) public async Task<IActionResult> Get(string name)
{ {
@ -80,21 +95,20 @@ public class JoueurController:Controller
} }
} }
[HttpPut("{name}")] [HttpPut("{id}")]
public async Task<ActionResult<JoueurDTO>> Put(string name,[FromBody] JoueurDTO joueur) public async Task<ActionResult<JoueurDTO>> Put(long id,[FromBody] JoueurDTO joueur)
{ {
try try
{ {
if(joueur == null) if(joueur == null)
return BadRequest("Le joueur est obligatoire"); return BadRequest("Le joueur est obligatoire");
var updateJoueur = _joueurService.Update(joueur); var updateJoueur = _joueurService.Update(id,joueur);
if (updateJoueur.Result == null) if (updateJoueur.Result == false)
{ {
return NotFound(); return NotFound();
} }
return Ok(joueur);
return Ok(updateJoueur);
} }
catch (Exception e) catch (Exception e)
{ {

@ -16,7 +16,10 @@ var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers(); builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer(); builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(); builder.Services.AddSwaggerGen(c=>
{
c.SwaggerDoc("v1", new() { Title = "APi Bowling APP", Version = "v1" });
});
builder.Services.AddAutoMapper(typeof(JoueurProfile)); builder.Services.AddAutoMapper(typeof(JoueurProfile));
builder.Services.AddScoped<IJoueurService, JoueurService>(); builder.Services.AddScoped<IJoueurService, JoueurService>();
@ -43,9 +46,19 @@ var app = builder.Build();
if (app.Environment.IsDevelopment()) if (app.Environment.IsDevelopment())
{ {
app.UseSwagger(); app.UseSwagger();
app.UseSwaggerUI(); app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "API du projet Bowling APP v1");
});
} }
app.UseRouting();
app.UseEndpoints(endpoint=>
{
endpoint.MapControllers();
});
app.UseHttpsRedirection(); app.UseHttpsRedirection();
app.UseAuthorization(); app.UseAuthorization();

Binary file not shown.

@ -35,7 +35,8 @@ public class JoueurRepository:IJoueurRepository
public async Task<JoueurEntity> GetJoueur(long id) public async Task<JoueurEntity> GetJoueur(long id)
{ {
return await _context.Joueurs.FindAsync(id); var data= await _context.Joueurs.FindAsync(id);
return data;
} }
public async Task<IEnumerable<JoueurEntity>> GetAllJoueur() public async Task<IEnumerable<JoueurEntity>> GetAllJoueur()

@ -7,7 +7,7 @@ public interface IJoueurService
{ {
Task<JoueurDTO> Add(JoueurDTO data); Task<JoueurDTO> Add(JoueurDTO data);
Task<bool> Delete(JoueurDTO data); Task<bool> Delete(JoueurDTO data);
Task<bool> Update(JoueurDTO data); Task<bool> Update(long id,JoueurDTO data);
Task<JoueurDTO> GetDataWithName(string name); Task<JoueurDTO> GetDataWithName(string name);
Task<IEnumerable<JoueurDTO>> GetAll(); Task<IEnumerable<JoueurDTO>> GetAll();
} }

@ -123,12 +123,12 @@ namespace BowlingService
return _joueur; return _joueur;
} }
public async Task<bool> Update(JoueurDTO _joueur) public async Task<bool> Update(long id,JoueurDTO _joueur)
{ {
bool result = false; bool result = false;
try try
{ {
JoueurEntity entity = _joueurRepository.GetJoueur(_joueur.Id).Result; JoueurEntity entity = _joueurRepository.GetJoueur(id).Result;
if (entity!= null) if (entity!= null)
{ {
entity.Pseudo = _joueur.Pseudo; entity.Pseudo = _joueur.Pseudo;

@ -129,7 +129,7 @@ public class TestController
var joueurController = new JoueurController(null); var joueurController = new JoueurController(null);
// Act // Act
var result = await joueurController.Put(null, null); var result = await joueurController.Put(0, null);
// Assert // Assert
result.Should().BeOfType<ActionResult<JoueurDTO>>(); result.Should().BeOfType<ActionResult<JoueurDTO>>();
@ -145,11 +145,11 @@ public class TestController
// Arrange // Arrange
var joueur = new JoueurDTO { Id = 1, Pseudo = "John Doe" }; var joueur = new JoueurDTO { Id = 1, Pseudo = "John Doe" };
var joueurServiceMock = new Mock<IJoueurService>(); var joueurServiceMock = new Mock<IJoueurService>();
joueurServiceMock.Setup(x => x.Update(joueur)).ReturnsAsync(true); joueurServiceMock.Setup(x => x.Update(joueur.Id,joueur)).ReturnsAsync(true);
var joueurController = new JoueurController(joueurServiceMock.Object); var joueurController = new JoueurController(joueurServiceMock.Object);
// Act // Act
var result = await joueurController.Put(joueur.Pseudo, joueur); var result = await joueurController.Put(joueur.Id, joueur);
// Assert // Assert
result.Should().BeOfType<ActionResult<JoueurDTO>>(); result.Should().BeOfType<ActionResult<JoueurDTO>>();

Loading…
Cancel
Save