You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.4 KiB
41 lines
1.4 KiB
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
|
|
{
|
|
[TestClass]
|
|
public class UnitTestGames
|
|
{
|
|
[TestMethod]
|
|
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<PlayerController>());
|
|
await controller.AddPlayer(player.ToDto());
|
|
|
|
// Act
|
|
var result = await controller.GetPlayer(id);
|
|
var objectResult = (ObjectResult)result.Result;
|
|
var apiResponse = JsonSerializer.Deserialize<ApiResponse<DTOPlayer>>(objectResult.Value);
|
|
|
|
// Assert
|
|
Assert.IsNotNull(apiResponse);
|
|
Assert.AreEqual((int)HttpStatusCode.OK, objectResult.StatusCode);
|
|
Assert.AreEqual(apiResponse.Data.playerId, id);
|
|
}
|
|
}
|
|
} |