parent
dbd3888e27
commit
b48c53aa28
@ -0,0 +1,637 @@ |
||||
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); |
||||
|
||||
// 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, 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); |
||||
|
||||
// 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 = 10; |
||||
|
||||
// Act |
||||
var okResult = DemandesFormationApiController.GetDemandesFormationCount(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 |
||||
} |
||||
} |
Loading…
Reference in new issue