|
|
|
@ -0,0 +1,110 @@ |
|
|
|
|
using EPAServeur.Context; |
|
|
|
|
using EPAServeur.IServices; |
|
|
|
|
using EPAServeur.Services; |
|
|
|
|
using IO.Swagger.ApiCollaborateur; |
|
|
|
|
using IO.Swagger.Controllers; |
|
|
|
|
using IO.Swagger.DTO; |
|
|
|
|
using IO.Swagger.Enum; |
|
|
|
|
using Microsoft.AspNetCore.Mvc; |
|
|
|
|
using Microsoft.EntityFrameworkCore; |
|
|
|
|
using Microsoft.Extensions.Logging; |
|
|
|
|
using NUnit.Framework; |
|
|
|
|
using System; |
|
|
|
|
using System.Collections.Generic; |
|
|
|
|
using System.Text; |
|
|
|
|
using System.Threading.Tasks; |
|
|
|
|
|
|
|
|
|
namespace EPAServeur.Tests.Controllers |
|
|
|
|
{ |
|
|
|
|
[TestFixture] |
|
|
|
|
public class DemandeDelegationApiTests |
|
|
|
|
{ |
|
|
|
|
#region Variables |
|
|
|
|
private EpContext context; |
|
|
|
|
private ILogger<DemandesDelegationApiController> logger; |
|
|
|
|
IDemandeDelegationService demandeDelegationService; |
|
|
|
|
private ICollaborateurApi collaborateurApi; |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
#region Setup |
|
|
|
|
[SetUp] |
|
|
|
|
public void Setup() |
|
|
|
|
{ |
|
|
|
|
// Utilisation d'une base de données en mémoire |
|
|
|
|
var optionBuider = new DbContextOptionsBuilder<EpContext>() |
|
|
|
|
.UseInMemoryDatabase("server_ep_test") |
|
|
|
|
.Options; |
|
|
|
|
|
|
|
|
|
context = new EpContext(optionBuider); |
|
|
|
|
|
|
|
|
|
context.Database.EnsureDeleted(); |
|
|
|
|
context.Database.EnsureCreated(); |
|
|
|
|
context.SaveChanges(); |
|
|
|
|
|
|
|
|
|
DataSeeder.AddDemandeDelegationEP(context); |
|
|
|
|
|
|
|
|
|
// Ajout du jeu de données pour les tests |
|
|
|
|
//TO DO |
|
|
|
|
|
|
|
|
|
// Détache les entités du context car la base de données InMemory créé des conflits |
|
|
|
|
// entre les clés primaires lors d'un Update ou d'un Insert |
|
|
|
|
foreach (var entity in context.ChangeTracker.Entries()) |
|
|
|
|
{ |
|
|
|
|
entity.State = EntityState.Detached; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
collaborateurApi = new CollaborateurApi(); |
|
|
|
|
demandeDelegationService = new DemandeDelegationService(collaborateurApi, context); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region Tests Api |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void GetDemandesDelegationReferent() |
|
|
|
|
{ |
|
|
|
|
DemandesDelegationApiController demandesDelegationApiController = new DemandesDelegationApiController(demandeDelegationService, logger); |
|
|
|
|
Task<IActionResult> task = demandesDelegationApiController.GetDemandesDelegationReferent(new Guid("01ee85ff-d7f3-494b-b1de-26ced8fbfa0d")); |
|
|
|
|
OkObjectResult result = task.Result as OkObjectResult; |
|
|
|
|
Assert.AreEqual(200, result.StatusCode); |
|
|
|
|
Assert.IsInstanceOf<IEnumerable<DemandeDelegationDTO>>(result.Value); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void UpdateDemandeDelegation_Refusee() |
|
|
|
|
{ |
|
|
|
|
DemandesDelegationApiController demandesDelegationApiController = new DemandesDelegationApiController(demandeDelegationService, logger); |
|
|
|
|
DemandeDelegationDTO demandeDTO = new DemandeDelegationDTO() |
|
|
|
|
{ |
|
|
|
|
Id = 1, |
|
|
|
|
DateDemande = new DateTime(), |
|
|
|
|
RaisonDemande = "Raison demande", |
|
|
|
|
EtatDemande = EtatDemande.Rejetee, |
|
|
|
|
RaisonRefus = "exemple raison refus" |
|
|
|
|
}; |
|
|
|
|
Task<IActionResult> task = demandesDelegationApiController.UpdateDemandeDelegation(demandeDTO, demandeDTO.Id) ; |
|
|
|
|
OkObjectResult result = task.Result as OkObjectResult; |
|
|
|
|
Assert.AreEqual(200, result.StatusCode); |
|
|
|
|
Assert.IsInstanceOf<DemandeDelegationDTO>(result.Value); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void UpdateDemandeDelegation_Validee() |
|
|
|
|
{ |
|
|
|
|
DemandesDelegationApiController demandesDelegationApiController = new DemandesDelegationApiController(demandeDelegationService, logger); |
|
|
|
|
DemandeDelegationDTO demandeDTO = new DemandeDelegationDTO() |
|
|
|
|
{ |
|
|
|
|
Id = 2, |
|
|
|
|
DateDemande = new DateTime(), |
|
|
|
|
RaisonDemande = "Raison demande", |
|
|
|
|
EtatDemande = EtatDemande.Validee, |
|
|
|
|
}; |
|
|
|
|
Task<IActionResult> task = demandesDelegationApiController.UpdateDemandeDelegation(demandeDTO, demandeDTO.Id); |
|
|
|
|
OkObjectResult result = task.Result as OkObjectResult; |
|
|
|
|
Assert.AreEqual(200, result.StatusCode); |
|
|
|
|
Assert.IsInstanceOf(null, result.Value); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
} |
|
|
|
|
} |