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]
[Route("api/[controller]")]
public class JoueurController:Controller
{
private IJoueurService _joueurService;
@ -16,8 +17,17 @@ public class JoueurController:Controller
_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]
[ProducesResponseType(typeof(string), StatusCodes.Status500InternalServerError)]
[ProducesResponseType(typeof(string), StatusCodes.Status404NotFound)]
[ProducesResponseType(typeof(IEnumerable<JoueurDTO>), StatusCodes.Status200OK)]
public async Task<IActionResult> Get()
{
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}")]
public async Task<IActionResult> Get(string name)
{
@ -80,21 +95,20 @@ public class JoueurController:Controller
}
}
[HttpPut("{name}")]
public async Task<ActionResult<JoueurDTO>> Put(string name,[FromBody] JoueurDTO joueur)
[HttpPut("{id}")]
public async Task<ActionResult<JoueurDTO>> Put(long id,[FromBody] JoueurDTO joueur)
{
try
{
if(joueur == null)
return BadRequest("Le joueur est obligatoire");
var updateJoueur = _joueurService.Update(joueur);
if (updateJoueur.Result == null)
var updateJoueur = _joueurService.Update(id,joueur);
if (updateJoueur.Result == false)
{
return NotFound();
}
return Ok(updateJoueur);
return Ok(joueur);
}
catch (Exception e)
{

@ -16,7 +16,10 @@ var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
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.AddScoped<IJoueurService, JoueurService>();
@ -43,9 +46,19 @@ var app = builder.Build();
if (app.Environment.IsDevelopment())
{
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.UseAuthorization();

Binary file not shown.

@ -35,7 +35,8 @@ public class JoueurRepository:IJoueurRepository
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()

@ -7,7 +7,7 @@ public interface IJoueurService
{
Task<JoueurDTO> Add(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<IEnumerable<JoueurDTO>> GetAll();
}

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

@ -129,7 +129,7 @@ public class TestController
var joueurController = new JoueurController(null);
// Act
var result = await joueurController.Put(null, null);
var result = await joueurController.Put(0, null);
// Assert
result.Should().BeOfType<ActionResult<JoueurDTO>>();
@ -145,11 +145,11 @@ public class TestController
// Arrange
var joueur = new JoueurDTO { Id = 1, Pseudo = "John Doe" };
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);
// Act
var result = await joueurController.Put(joueur.Pseudo, joueur);
var result = await joueurController.Put(joueur.Id, joueur);
// Assert
result.Should().BeOfType<ActionResult<JoueurDTO>>();

Loading…
Cancel
Save