Compare commits
No commits in common. '644d473ce713667b52910ef129653dbd99f5b9b2' and '73e9a0315cfd1879a93da0ea9cc2d61ef3218d30' have entirely different histories.
644d473ce7
...
73e9a0315c
@ -1,637 +0,0 @@ |
|||||||
using EPAServeur.Context; |
|
||||||
using EPAServeur.Exceptions; |
|
||||||
using EPAServeur.Models.Formation; |
|
||||||
using EPAServeur.Services; |
|
||||||
using IO.Swagger.Controllers; |
|
||||||
using IO.Swagger.DTO; |
|
||||||
using Microsoft.AspNetCore.Mvc; |
|
||||||
using Microsoft.EntityFrameworkCore; |
|
||||||
using Microsoft.Extensions.Logging; |
|
||||||
using Microsoft.Extensions.Logging.Abstractions; |
|
||||||
using NUnit.Framework; |
|
||||||
using System; |
|
||||||
using System.Collections.Generic; |
|
||||||
using System.Linq; |
|
||||||
using System.Threading.Tasks; |
|
||||||
using Microsoft.AspNetCore.Hosting; |
|
||||||
using Microsoft.Extensions.Hosting; |
|
||||||
using Microsoft.Extensions.DependencyInjection; |
|
||||||
using EPAServeur.IServices; |
|
||||||
using Moq; |
|
||||||
using IO.Swagger.ApiCollaborateur; |
|
||||||
using IO.Swagger.Enum; |
|
||||||
|
|
||||||
namespace EPAServeur.Tests.Controllers |
|
||||||
{ |
|
||||||
[TestFixture] |
|
||||||
public class DemandeFormationApiTests |
|
||||||
{ |
|
||||||
#region Variables |
|
||||||
|
|
||||||
private IDemandeFormationService demandeFormationService; |
|
||||||
private Mock<IWebHostEnvironment> mockEnvironment; |
|
||||||
private EpContext epContext; |
|
||||||
#endregion |
|
||||||
|
|
||||||
#region Setup |
|
||||||
|
|
||||||
[SetUp] |
|
||||||
public void Setup() |
|
||||||
{ |
|
||||||
// Création d'une collection de services pour l'injection de dépendance |
|
||||||
var services = new ServiceCollection(); |
|
||||||
|
|
||||||
// Utilisation d'une base de données en mémoire |
|
||||||
var optionBuider = new DbContextOptionsBuilder<EpContext>() |
|
||||||
.UseInMemoryDatabase("server_ep_test") |
|
||||||
.Options; |
|
||||||
|
|
||||||
services.AddDbContext<EpContext>(b => b.UseInMemoryDatabase("server_ep_test")); |
|
||||||
|
|
||||||
epContext = new EpContext(optionBuider); |
|
||||||
|
|
||||||
epContext.Database.EnsureDeleted(); |
|
||||||
epContext.Database.EnsureCreated(); |
|
||||||
epContext.SaveChanges(); |
|
||||||
|
|
||||||
// Ajout du jeu de données pour les tests |
|
||||||
DataSeeder.AddFormations(epContext); |
|
||||||
|
|
||||||
// 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 epContext.ChangeTracker.Entries()) |
|
||||||
{ |
|
||||||
entity.State = EntityState.Detached; |
|
||||||
} |
|
||||||
|
|
||||||
services.AddScoped<ITransformDTO, TransformDTO>(); |
|
||||||
services.AddScoped<ICollaborateurApi, CollaborateurApi>(); |
|
||||||
services.AddScoped<ICollaborateurService, CollaborateurService>(); |
|
||||||
services.AddScoped<IDemandeFormationService, DemandeFormationService>(); |
|
||||||
|
|
||||||
// Récupère le service qui sera utilsé pour tester le contrôleur |
|
||||||
var serviceProvider = services.BuildServiceProvider(); |
|
||||||
demandeFormationService = serviceProvider.GetService<IDemandeFormationService>(); |
|
||||||
|
|
||||||
// Simule l'interface IWebHostEnvironment avec Moq |
|
||||||
mockEnvironment = new Mock<IWebHostEnvironment>(); |
|
||||||
|
|
||||||
mockEnvironment |
|
||||||
.Setup(m => m.EnvironmentName) |
|
||||||
.Returns("Development"); |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
#endregion |
|
||||||
|
|
||||||
#region Tests GetDemandesFormation |
|
||||||
|
|
||||||
[Test] |
|
||||||
public void GetDemandesFormation_PasseDesParamsPresentsDansLaBDD_RetourneUnObjetOkResult() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
|
|
||||||
// Act |
|
||||||
var okResult = DemandesFormationApiController.GetDemandesFormation(null, null, null, null, null, null, null, null, null, null); |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<OkObjectResult>(okResult.Result); |
|
||||||
} |
|
||||||
|
|
||||||
[Test] |
|
||||||
public void GetDemandesFormation_PasseDesParamsPresentsDansLaBDD_RetourneLesCinqPremieresDemandesDeFormations() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
int nbDemandeFormation = 5; |
|
||||||
int idFirstDemandeFormation = 1; |
|
||||||
int idLastDemandeFormation = 3; |
|
||||||
|
|
||||||
// Act |
|
||||||
var okResult = DemandesFormationApiController.GetDemandesFormation(null, null, null, null, 1, 5, null, null, null, null).Result as OkObjectResult; |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<IEnumerable<DemandeFormationDTO>>(okResult.Value); |
|
||||||
Assert.AreEqual(nbDemandeFormation, (okResult.Value as IEnumerable<DemandeFormationDTO>).Count()); |
|
||||||
Assert.AreEqual(idFirstDemandeFormation, (okResult.Value as IEnumerable<DemandeFormationDTO>).First().Id); |
|
||||||
Assert.AreEqual(idLastDemandeFormation, (okResult.Value as IEnumerable<DemandeFormationDTO>).Last().Id); |
|
||||||
} |
|
||||||
|
|
||||||
#endregion |
|
||||||
|
|
||||||
#region Tests GetDemandesFormationCount |
|
||||||
|
|
||||||
[Test] |
|
||||||
public void GetDemandesFormationCount_PasseDesParamsPresentsDansLaBDD_RetourneUnObjetOkResult() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
|
|
||||||
// Act |
|
||||||
var okResult = DemandesFormationApiController.GetDemandesFormationCount(null, null, null, null, null, null); |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<OkObjectResult>(okResult.Result); |
|
||||||
} |
|
||||||
|
|
||||||
[Test] |
|
||||||
public void GetDemandesFormationCount_PasseDesParamsPresentsDansLaBDD_RetourneLeBonNombreDeDemandeDeFormation() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
int nbDemandeFormation = 12; |
|
||||||
|
|
||||||
// Act |
|
||||||
var okResult = DemandesFormationApiController.GetDemandesFormationCount(null, null, null, null, null, null).Result as OkObjectResult; |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<long>(okResult.Value); |
|
||||||
Assert.AreEqual(nbDemandeFormation, (long)okResult.Value); |
|
||||||
} |
|
||||||
|
|
||||||
#endregion |
|
||||||
|
|
||||||
#region Tests GetOriginesDemandeFormation |
|
||||||
|
|
||||||
[Test] |
|
||||||
public void GetOriginesDemandeFormation_RetourneUnObjetOkResult() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
|
|
||||||
// Act |
|
||||||
var okResult = DemandesFormationApiController.GetOriginesDemandeFormation(); |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<OkObjectResult>(okResult.Result); |
|
||||||
} |
|
||||||
|
|
||||||
[Test] |
|
||||||
public void GetOriginesDemandeFormation_RetourneToutesLesOriginesDeDemande() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
int nbOrigineDemande = 5; |
|
||||||
// Act |
|
||||||
var okResult = DemandesFormationApiController.GetOriginesDemandeFormation().Result as OkObjectResult; |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<IEnumerable<OrigineDemandeFormationDTO>>(okResult.Value); |
|
||||||
Assert.AreEqual(nbOrigineDemande, (okResult.Value as IEnumerable<OrigineDemandeFormationDTO>).Count()); |
|
||||||
} |
|
||||||
|
|
||||||
#endregion |
|
||||||
|
|
||||||
#region Tests AddDemandeFormation |
|
||||||
|
|
||||||
[Test] |
|
||||||
public void AddDemandeFormation_AjouteUneDemandeDeFormationAvecUnCollaborateurNull_RetourneUnObjetObjectResult() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
|
|
||||||
OrigineDemandeFormationDTO origineDemandeFormationApside = new OrigineDemandeFormationDTO { Id = 5, Libelle = "Demande Apside" }; |
|
||||||
|
|
||||||
List<BusinessUnitDTO> Bus = new List<BusinessUnitDTO>() { |
|
||||||
new BusinessUnitDTO { Id = 1, Nom = "Tours" }, |
|
||||||
new BusinessUnitDTO { Id = 2, Nom = "Orléans" }, |
|
||||||
}; |
|
||||||
|
|
||||||
CollaborateurDTO collaborateur = null; |
|
||||||
|
|
||||||
DemandeFormationDTO demandeFormation = new DemandeFormationDTO |
|
||||||
{ |
|
||||||
Libelle = "Formation React", |
|
||||||
Description = "Demande de formation React avec Redux", |
|
||||||
DemandeRH = true, |
|
||||||
DateDemande = DateTime.Now, |
|
||||||
EtatDemande = EtatDemande.EnAttente, |
|
||||||
Origine = origineDemandeFormationApside, |
|
||||||
Collaborateur = collaborateur, |
|
||||||
}; |
|
||||||
|
|
||||||
// Act |
|
||||||
var objectResult = DemandesFormationApiController.AddDemandeFormation(demandeFormation); |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<ObjectResult>(objectResult.Result); |
|
||||||
} |
|
||||||
|
|
||||||
[Test] |
|
||||||
public void AddDemandeFormation_AjouteUneDemandeDeFormationValide_RetourneUnObjetCreatedResult() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
|
|
||||||
OrigineDemandeFormationDTO origineDemandeFormationApside = new OrigineDemandeFormationDTO { Id = 5, Libelle = "Demande Apside" }; |
|
||||||
|
|
||||||
List<BusinessUnitDTO> Bus = new List<BusinessUnitDTO>() { |
|
||||||
new BusinessUnitDTO { Id = 1, Nom = "Tours" }, |
|
||||||
new BusinessUnitDTO { Id = 2, Nom = "Orléans" }, |
|
||||||
}; |
|
||||||
|
|
||||||
CollaborateurDTO collaborateur = new CollaborateurDTO |
|
||||||
{ |
|
||||||
Id = Guid.Parse("842650db-a548-4472-a3af-4c5fff3c1ab8"), |
|
||||||
BusinessUnit = new BusinessUnitDTO { Id = 2, Nom = "Orléans", Agence = new AgenceDTO { Id = 1, Nom = "TOP", Bu = Bus } }, |
|
||||||
Nom = "Lemoine", |
|
||||||
Prenom = "Coty", |
|
||||||
MailApside = "coty.lemoine@apside-groupe.com", |
|
||||||
DateArrivee = new DateTime(2017, 2, 10, 20, 37, 58, 741), |
|
||||||
DateDepart = null, |
|
||||||
}; |
|
||||||
|
|
||||||
DemandeFormationDTO demandeFormation = new DemandeFormationDTO |
|
||||||
{ |
|
||||||
Libelle = "Formation React", |
|
||||||
Description = "Demande de formation React avec Redux", |
|
||||||
DemandeRH = true, |
|
||||||
DateDemande = DateTime.Now, |
|
||||||
EtatDemande = EtatDemande.EnAttente, |
|
||||||
Origine = origineDemandeFormationApside, |
|
||||||
Collaborateur = collaborateur, |
|
||||||
}; |
|
||||||
|
|
||||||
// Act |
|
||||||
var createdResult = DemandesFormationApiController.AddDemandeFormation(demandeFormation); |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<CreatedResult>(createdResult.Result); |
|
||||||
} |
|
||||||
|
|
||||||
[Test] |
|
||||||
public void AddDemandeFormation_AjouteUneDemandeDeFormationValide_RetourneLaDemandeDeFormationCreee() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
|
|
||||||
OrigineDemandeFormationDTO origineDemandeFormationApside = new OrigineDemandeFormationDTO { Id = 5, Libelle = "Demande Apside" }; |
|
||||||
|
|
||||||
List<BusinessUnitDTO> Bus = new List<BusinessUnitDTO>() { |
|
||||||
new BusinessUnitDTO { Id = 1, Nom = "Tours" }, |
|
||||||
new BusinessUnitDTO { Id = 2, Nom = "Orléans" }, |
|
||||||
}; |
|
||||||
|
|
||||||
CollaborateurDTO collaborateur = new CollaborateurDTO |
|
||||||
{ |
|
||||||
Id = Guid.Parse("842650db-a548-4472-a3af-4c5fff3c1ab8"), |
|
||||||
BusinessUnit = new BusinessUnitDTO { Id = 2, Nom = "Orléans", Agence = new AgenceDTO { Id = 1, Nom = "TOP", Bu = Bus } }, |
|
||||||
Nom = "Lemoine", |
|
||||||
Prenom = "Coty", |
|
||||||
MailApside = "coty.lemoine@apside-groupe.com", |
|
||||||
DateArrivee = new DateTime(2017, 2, 10, 20, 37, 58, 741), |
|
||||||
DateDepart = null, |
|
||||||
}; |
|
||||||
|
|
||||||
DemandeFormationDTO demandeFormation = new DemandeFormationDTO |
|
||||||
{ |
|
||||||
Libelle = "Formation React", |
|
||||||
Description = "Demande de formation React avec Redux", |
|
||||||
DemandeRH = true, |
|
||||||
DateDemande = DateTime.Now, |
|
||||||
EtatDemande = EtatDemande.EnAttente, |
|
||||||
Origine = origineDemandeFormationApside, |
|
||||||
Collaborateur = collaborateur, |
|
||||||
}; |
|
||||||
|
|
||||||
// Act |
|
||||||
var createdResult = DemandesFormationApiController.AddDemandeFormation(demandeFormation).Result as CreatedResult; |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<DemandeFormationDTO>(createdResult.Value); |
|
||||||
Assert.AreEqual("Formation React", (createdResult.Value as DemandeFormationDTO).Libelle); |
|
||||||
} |
|
||||||
|
|
||||||
#endregion |
|
||||||
|
|
||||||
#region Tests UpdateDemandeFormation |
|
||||||
|
|
||||||
[Test] |
|
||||||
public async Task UpdateDemandeFormation_AccepteUneDemandeAvecUneFormationNull_RetourneUnObjetObjectResultDansCatchDemandeFormationInvalidException() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
long idDemandeFormation = 3; |
|
||||||
OrigineDemandeFormationDTO origineDemandeFormationClient = new OrigineDemandeFormationDTO { Id = 3, Libelle = "Exigence Client" }; |
|
||||||
|
|
||||||
List<BusinessUnitDTO> Bus = new List<BusinessUnitDTO>() { |
|
||||||
new BusinessUnitDTO { Id = 1, Nom = "Tours" }, |
|
||||||
new BusinessUnitDTO { Id = 2, Nom = "Orléans" }, |
|
||||||
}; |
|
||||||
|
|
||||||
CollaborateurDTO collaborateur = new CollaborateurDTO |
|
||||||
{ |
|
||||||
Id = Guid.Parse("a0f40e2a-cc03-4032-a627-5389e1281c64"), |
|
||||||
BusinessUnit = new BusinessUnitDTO { Id = 2, Nom = "Orléans", Agence = new AgenceDTO { Id = 1, Nom = "TOP", Bu = Bus } }, |
|
||||||
Nom = "Vasseur", |
|
||||||
Prenom = "Florencio", |
|
||||||
MailApside = "florencio.vasseur@apside-groupe.com", |
|
||||||
DateArrivee = new DateTime(2016, 1, 15, 10, 22, 30, 778), |
|
||||||
DateDepart = null, |
|
||||||
}; |
|
||||||
|
|
||||||
FormationDetailsDTO formation = null; |
|
||||||
|
|
||||||
DemandeFormationDTO demandeFormation = new DemandeFormationDTO |
|
||||||
{ |
|
||||||
Id = idDemandeFormation, |
|
||||||
Libelle = "Formation C#", |
|
||||||
Description = "Demande de formation C# avec WPF", |
|
||||||
DemandeRH = false, |
|
||||||
DateDemande = new DateTime(2020, 3, 22, 9, 0, 0), |
|
||||||
EtatDemande = EtatDemande.Validee, |
|
||||||
Origine = origineDemandeFormationClient, |
|
||||||
Collaborateur = collaborateur, |
|
||||||
Formation = formation, |
|
||||||
}; |
|
||||||
|
|
||||||
// Act |
|
||||||
var objectResult = DemandesFormationApiController.UpdateDemandeFormation(demandeFormation, idDemandeFormation); |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<ObjectResult>(objectResult.Result); |
|
||||||
} |
|
||||||
|
|
||||||
[Test] |
|
||||||
public async Task UpdateDemandeFormation_AccepteUneDemandeAvecUnIdDemandeFormationNull_RetourneUnObjetObjectResultDansCatchDemandeFormationIncompatibleIdException() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
long idDemandeFormation = 1; |
|
||||||
long? idDemandeFormationIncorrecte = null; |
|
||||||
int nbParticipant = 1; |
|
||||||
OrigineDemandeFormationDTO origineDemandeFormationClient = new OrigineDemandeFormationDTO { Id = 3, Libelle = "Exigence Client" }; |
|
||||||
|
|
||||||
List<BusinessUnitDTO> Bus = new List<BusinessUnitDTO>() { |
|
||||||
new BusinessUnitDTO { Id = 1, Nom = "Tours" }, |
|
||||||
new BusinessUnitDTO { Id = 2, Nom = "Orléans" }, |
|
||||||
}; |
|
||||||
|
|
||||||
CollaborateurDTO collaborateur = new CollaborateurDTO |
|
||||||
{ |
|
||||||
Id = Guid.Parse("a0f40e2a-cc03-4032-a627-5389e1281c64"), |
|
||||||
BusinessUnit = new BusinessUnitDTO { Id = 2, Nom = "Orléans", Agence = new AgenceDTO { Id = 1, Nom = "TOP", Bu = Bus } }, |
|
||||||
Nom = "Vasseur", |
|
||||||
Prenom = "Florencio", |
|
||||||
MailApside = "florencio.vasseur@apside-groupe.com", |
|
||||||
DateArrivee = new DateTime(2016, 1, 15, 10, 22, 30, 778), |
|
||||||
DateDepart = null, |
|
||||||
}; |
|
||||||
|
|
||||||
FormationDetailsDTO formation = new FormationDetailsDTO |
|
||||||
{ |
|
||||||
Id = 3, |
|
||||||
Intitule = "Apprendre C# et le développement de logiciels avec WPF", |
|
||||||
DateDebut = new DateTime(2020, 5, 25, 14, 0, 0), |
|
||||||
DateFin = new DateTime(2020, 5, 27), |
|
||||||
Organisme = "Organisme2", |
|
||||||
Origine = new OrigineFormationDTO { Id = 3, Libelle = "Exigence Apside" }, |
|
||||||
Statut = new StatutFormationDTO { Id = 1, Libelle = "Planifiée" }, |
|
||||||
EstCertifiee = true, |
|
||||||
NbParticipations = nbParticipant |
|
||||||
}; |
|
||||||
|
|
||||||
DemandeFormationDTO demandeFormation = new DemandeFormationDTO |
|
||||||
{ |
|
||||||
Id = idDemandeFormationIncorrecte, |
|
||||||
Libelle = "Formation C#", |
|
||||||
Description = "Demande de formation C# avec WPF", |
|
||||||
DemandeRH = false, |
|
||||||
DateDemande = new DateTime(2020, 3, 22, 9, 0, 0), |
|
||||||
EtatDemande = EtatDemande.Validee, |
|
||||||
Origine = origineDemandeFormationClient, |
|
||||||
Collaborateur = collaborateur, |
|
||||||
Formation = formation, |
|
||||||
}; |
|
||||||
|
|
||||||
// Act |
|
||||||
var objectResult = DemandesFormationApiController.UpdateDemandeFormation(demandeFormation, idDemandeFormation); |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<ObjectResult>(objectResult.Result); |
|
||||||
} |
|
||||||
|
|
||||||
[Test] |
|
||||||
public async Task UpdateDemandeFormation_AccepteUneDemandeInexistante_RetourneUnObjetObjectResultDansCatchDemandeFormationNotFoundExceptionn() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
long idDemandeFormation = 0; |
|
||||||
int nbParticipant = 1; |
|
||||||
OrigineDemandeFormationDTO origineDemandeFormationClient = new OrigineDemandeFormationDTO { Id = 3, Libelle = "Exigence Client" }; |
|
||||||
|
|
||||||
List<BusinessUnitDTO> Bus = new List<BusinessUnitDTO>() { |
|
||||||
new BusinessUnitDTO { Id = 1, Nom = "Tours" }, |
|
||||||
new BusinessUnitDTO { Id = 2, Nom = "Orléans" }, |
|
||||||
}; |
|
||||||
|
|
||||||
CollaborateurDTO collaborateur = new CollaborateurDTO |
|
||||||
{ |
|
||||||
Id = Guid.Parse("a0f40e2a-cc03-4032-a627-5389e1281c64"), |
|
||||||
BusinessUnit = new BusinessUnitDTO { Id = 2, Nom = "Orléans", Agence = new AgenceDTO { Id = 1, Nom = "TOP", Bu = Bus } }, |
|
||||||
Nom = "Vasseur", |
|
||||||
Prenom = "Florencio", |
|
||||||
MailApside = "florencio.vasseur@apside-groupe.com", |
|
||||||
DateArrivee = new DateTime(2016, 1, 15, 10, 22, 30, 778), |
|
||||||
DateDepart = null, |
|
||||||
}; |
|
||||||
|
|
||||||
FormationDetailsDTO formation = new FormationDetailsDTO |
|
||||||
{ |
|
||||||
Id = 3, |
|
||||||
Intitule = "Apprendre C# et le développement de logiciels avec WPF", |
|
||||||
DateDebut = new DateTime(2020, 5, 25, 14, 0, 0), |
|
||||||
DateFin = new DateTime(2020, 5, 27), |
|
||||||
Organisme = "Organisme2", |
|
||||||
Origine = new OrigineFormationDTO { Id = 3, Libelle = "Exigence Apside" }, |
|
||||||
Statut = new StatutFormationDTO { Id = 1, Libelle = "Planifiée" }, |
|
||||||
EstCertifiee = true, |
|
||||||
NbParticipations = nbParticipant |
|
||||||
}; |
|
||||||
|
|
||||||
DemandeFormationDTO demandeFormation = new DemandeFormationDTO |
|
||||||
{ |
|
||||||
Id = idDemandeFormation, |
|
||||||
Libelle = "Formation C#", |
|
||||||
Description = "Demande de formation C# avec WPF", |
|
||||||
DemandeRH = false, |
|
||||||
DateDemande = new DateTime(2020, 3, 22, 9, 0, 0), |
|
||||||
EtatDemande = EtatDemande.Validee, |
|
||||||
Origine = origineDemandeFormationClient, |
|
||||||
Collaborateur = collaborateur, |
|
||||||
Formation = formation, |
|
||||||
}; |
|
||||||
|
|
||||||
// Act |
|
||||||
var objectResult = DemandesFormationApiController.UpdateDemandeFormation(demandeFormation, idDemandeFormation); |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<ObjectResult>(objectResult.Result); |
|
||||||
} |
|
||||||
|
|
||||||
[Test] |
|
||||||
public async Task UpdateDemandeFormation_AccepteUneDemandeDeDemandeFormation_RetourneUnObjetOkObjectResult() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
long idDemandeFormation = 1; |
|
||||||
int nbParticipant = 0; |
|
||||||
OrigineDemandeFormationDTO origineDemandeFormationApside = new OrigineDemandeFormationDTO { Id = 5, Libelle = "Demande Apside" }; |
|
||||||
|
|
||||||
List<BusinessUnitDTO> Bus = new List<BusinessUnitDTO>() { |
|
||||||
new BusinessUnitDTO { Id = 1, Nom = "Tours" }, |
|
||||||
new BusinessUnitDTO { Id = 2, Nom = "Orléans" }, |
|
||||||
}; |
|
||||||
|
|
||||||
CollaborateurDTO collaborateur = new CollaborateurDTO |
|
||||||
{ |
|
||||||
Id = Guid.Parse("842650db-a548-4472-a3af-4c5fff3c1ab8"), |
|
||||||
BusinessUnit = new BusinessUnitDTO { Id = 2, Nom = "Orléans", Agence = new AgenceDTO { Id = 1, Nom = "TOP", Bu = Bus } }, |
|
||||||
Nom = "Lemoine", |
|
||||||
Prenom = "Coty", |
|
||||||
MailApside = "coty.lemoine@apside-groupe.com", |
|
||||||
DateArrivee = new DateTime(2017, 2, 10, 20, 37, 58, 741), |
|
||||||
DateDepart = null, |
|
||||||
}; |
|
||||||
|
|
||||||
FormationDetailsDTO formation = new FormationDetailsDTO |
|
||||||
{ |
|
||||||
Id = 1, |
|
||||||
Intitule = "Formation Mainframe Complète", |
|
||||||
DateDebut = new DateTime(2020, 1, 25, 10, 0, 0), |
|
||||||
DateFin = new DateTime(2020, 1, 27), |
|
||||||
Organisme = "Organisme1", |
|
||||||
Origine = new OrigineFormationDTO { Id = 2, Libelle = "Exigence client" }, |
|
||||||
Statut = new StatutFormationDTO { Id = 1, Libelle = "Planifiée" }, |
|
||||||
EstCertifiee = false, |
|
||||||
NbParticipations = nbParticipant |
|
||||||
}; |
|
||||||
|
|
||||||
DemandeFormationDTO demandeFormation = new DemandeFormationDTO |
|
||||||
{ |
|
||||||
Id = idDemandeFormation, |
|
||||||
Libelle = "Formation Cobol", |
|
||||||
Description = "Demande de formation Cobol avec Mainframe", |
|
||||||
DemandeRH = false, |
|
||||||
DateDemande = new DateTime(2020, 1, 22, 9, 0, 0), |
|
||||||
EtatDemande = EtatDemande.Validee, |
|
||||||
Origine = origineDemandeFormationApside, |
|
||||||
Collaborateur = collaborateur, |
|
||||||
Formation = formation, |
|
||||||
}; |
|
||||||
|
|
||||||
// Act |
|
||||||
var okObjectResult = DemandesFormationApiController.UpdateDemandeFormation(demandeFormation, idDemandeFormation); |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<OkObjectResult>(okObjectResult.Result); |
|
||||||
} |
|
||||||
|
|
||||||
[Test] |
|
||||||
public async Task UpdateDemandeFormation_AccepteUneDemandeDeDemandeFormation_RetourneLaDemandeDeFormationAcceptee() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
long idDemandeFormation = 1; |
|
||||||
int nbParticipant = 0; |
|
||||||
OrigineDemandeFormationDTO origineDemandeFormationApside = new OrigineDemandeFormationDTO { Id = 5, Libelle = "Demande Apside" }; |
|
||||||
|
|
||||||
List<BusinessUnitDTO> Bus = new List<BusinessUnitDTO>() { |
|
||||||
new BusinessUnitDTO { Id = 1, Nom = "Tours" }, |
|
||||||
new BusinessUnitDTO { Id = 2, Nom = "Orléans" }, |
|
||||||
}; |
|
||||||
|
|
||||||
CollaborateurDTO collaborateur = new CollaborateurDTO |
|
||||||
{ |
|
||||||
Id = Guid.Parse("842650db-a548-4472-a3af-4c5fff3c1ab8"), |
|
||||||
BusinessUnit = new BusinessUnitDTO { Id = 2, Nom = "Orléans", Agence = new AgenceDTO { Id = 1, Nom = "TOP", Bu = Bus } }, |
|
||||||
Nom = "Lemoine", |
|
||||||
Prenom = "Coty", |
|
||||||
MailApside = "coty.lemoine@apside-groupe.com", |
|
||||||
DateArrivee = new DateTime(2017, 2, 10, 20, 37, 58, 741), |
|
||||||
DateDepart = null, |
|
||||||
}; |
|
||||||
|
|
||||||
FormationDetailsDTO formation = new FormationDetailsDTO |
|
||||||
{ |
|
||||||
Id = 1, |
|
||||||
Intitule = "Formation Mainframe Complète", |
|
||||||
DateDebut = new DateTime(2020, 1, 25, 10, 0, 0), |
|
||||||
DateFin = new DateTime(2020, 1, 27), |
|
||||||
Organisme = "Organisme1", |
|
||||||
Origine = new OrigineFormationDTO { Id = 2, Libelle = "Exigence client" }, |
|
||||||
Statut = new StatutFormationDTO { Id = 1, Libelle = "Planifiée" }, |
|
||||||
EstCertifiee = false, |
|
||||||
NbParticipations = nbParticipant |
|
||||||
}; |
|
||||||
|
|
||||||
DemandeFormationDTO demandeFormation = new DemandeFormationDTO |
|
||||||
{ |
|
||||||
Id = idDemandeFormation, |
|
||||||
Libelle = "Formation Cobol", |
|
||||||
Description = "Demande de formation Cobol avec Mainframe", |
|
||||||
DemandeRH = false, |
|
||||||
DateDemande = new DateTime(2020, 1, 22, 9, 0, 0), |
|
||||||
EtatDemande = EtatDemande.Validee, |
|
||||||
Origine = origineDemandeFormationApside, |
|
||||||
Collaborateur = collaborateur, |
|
||||||
Formation = formation, |
|
||||||
}; |
|
||||||
|
|
||||||
// Act |
|
||||||
var okObjectResult = DemandesFormationApiController.UpdateDemandeFormation(demandeFormation, idDemandeFormation).Result as OkObjectResult; |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<DemandeFormationDTO>(okObjectResult.Value); |
|
||||||
Assert.AreEqual("Formation Cobol", (okObjectResult.Value as DemandeFormationDTO).Libelle); |
|
||||||
} |
|
||||||
|
|
||||||
#endregion |
|
||||||
|
|
||||||
#region Tests DeleteDemandeFormation |
|
||||||
|
|
||||||
[Test] |
|
||||||
public void DeleteDemandeFormation_SupprimeUneDemandeDeFormationInexistante_RetourneUnObjetNotFoundObjectResult() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
long idDemandeFormation = 0; |
|
||||||
|
|
||||||
// Act |
|
||||||
var notFoundObjectResult = DemandesFormationApiController.DeleteDemandeFormation(idDemandeFormation); |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<NotFoundObjectResult>(notFoundObjectResult.Result); |
|
||||||
} |
|
||||||
|
|
||||||
[Test] |
|
||||||
public void DeleteDemandeFormation_SupprimeUneDemandeDeFormationConcernantUnEpSigne_RetourneUnObjetObjectResultDansCatchDemandeFormationInvalidException() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
long idDemandeFormation = 2; |
|
||||||
|
|
||||||
// Act |
|
||||||
var objectResult = DemandesFormationApiController.DeleteDemandeFormation(idDemandeFormation); |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<ObjectResult>(objectResult.Result); |
|
||||||
} |
|
||||||
|
|
||||||
[Test] |
|
||||||
public void DeleteDemandeFormation_SupprimeUneDemandeDeFormation_RetourneUnObjetNoContentResult() |
|
||||||
{ |
|
||||||
// Arrange |
|
||||||
DemandesFormationApiController DemandesFormationApiController = new DemandesFormationApiController(demandeFormationService, new NullLogger<DemandesFormationApiController>(), mockEnvironment.Object); |
|
||||||
long idDemandeFormation = 5; |
|
||||||
|
|
||||||
// Act |
|
||||||
var noContentResult = DemandesFormationApiController.DeleteDemandeFormation(idDemandeFormation); |
|
||||||
|
|
||||||
// Assert |
|
||||||
Assert.IsInstanceOf<NoContentResult>(noContentResult.Result); |
|
||||||
} |
|
||||||
#endregion |
|
||||||
} |
|
||||||
} |
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue