Add some Tests ✅
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
parent
0d6511787e
commit
54fdb89520
@ -0,0 +1,45 @@
|
|||||||
|
using Moq;
|
||||||
|
using VeraxShield.modele.utilisateurs;
|
||||||
|
using VeraxShield.services.UtilisateursDataService;
|
||||||
|
|
||||||
|
namespace TestVeraxShield;
|
||||||
|
|
||||||
|
public class IAuthentificationServiceTests
|
||||||
|
{
|
||||||
|
private readonly Mock<IUtilisateursDataService> _mockDataService;
|
||||||
|
private readonly AuthentificationService _authService;
|
||||||
|
|
||||||
|
public IAuthentificationServiceTests()
|
||||||
|
{
|
||||||
|
_mockDataService = new Mock<IUtilisateursDataService>();
|
||||||
|
_authService = new AuthentificationService(_mockDataService.Object);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetUtilisateur_ValidUser_ReturnsUser()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var expectedUser = new UtilisateurCourant { Pseudo = "user1", EstAuthentifie = true };
|
||||||
|
_mockDataService.Setup(x => x.getAllUtilisateurs()).ReturnsAsync(new List<Utilisateur>
|
||||||
|
{
|
||||||
|
new Utilisateur("user1", "Name", "Surname", "user1@example.com", "password", "User", false)
|
||||||
|
});
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = await _authService.GetUtilisateur("user1");
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Equal(expectedUser.Pseudo, result.Pseudo);
|
||||||
|
Assert.True(result.EstAuthentifie);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetUtilisateur_NonExistentUser_ThrowsException()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
_mockDataService.Setup(x => x.getAllUtilisateurs()).ReturnsAsync(new List<Utilisateur>());
|
||||||
|
|
||||||
|
// Act & Assert
|
||||||
|
await Assert.ThrowsAsync<Exception>(() => _authService.GetUtilisateur("user2"));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
using Moq;
|
||||||
|
using VeraxShield.modele.utilisateurs;
|
||||||
|
using VeraxShield.services.UtilisateursDataService;
|
||||||
|
|
||||||
|
namespace TestVeraxShield;
|
||||||
|
|
||||||
|
public class IUtilisateursDataServiceTests
|
||||||
|
{
|
||||||
|
private readonly Mock<IUtilisateursDataService> _service = new Mock<IUtilisateursDataService>();
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task AjouterUtilisateur_AddsUserSuccessfully()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var user = new Utilisateur("testUser", "User", "Test", "dez", "password", "User", false);
|
||||||
|
_service.Setup(s => s.AjouterUtilisateur(It.IsAny<Utilisateur>()))
|
||||||
|
.Returns(Task.CompletedTask)
|
||||||
|
.Callback<Utilisateur>(u => Assert.Equal("testUser", u.Pseudo));
|
||||||
|
|
||||||
|
// Act
|
||||||
|
await _service.Object.AjouterUtilisateur(user);
|
||||||
|
|
||||||
|
// Assert is handled by the Callback
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,56 @@
|
|||||||
|
using Microsoft.AspNetCore.Components;
|
||||||
|
using Moq;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using RichardSzalay.MockHttp;
|
||||||
|
using VeraxShield.modele.utilisateurs;
|
||||||
|
using VeraxShield.services.UtilisateursDataService;
|
||||||
|
|
||||||
|
namespace TestVeraxShield;
|
||||||
|
|
||||||
|
public class UtilisateursDataServiceApiTests
|
||||||
|
{
|
||||||
|
private readonly MockHttpMessageHandler _mockHttp;
|
||||||
|
private readonly HttpClient _clientHttp;
|
||||||
|
private readonly Mock<NavigationManager> _mockNavigationManager;
|
||||||
|
private readonly UtilisateursDataServiceApi _service;
|
||||||
|
|
||||||
|
public UtilisateursDataServiceApiTests()
|
||||||
|
{
|
||||||
|
_mockHttp = new MockHttpMessageHandler();
|
||||||
|
|
||||||
|
// Mock the response for the API call
|
||||||
|
_mockHttp.When("https://Verax.com/api/utilisateurs/recuperer")
|
||||||
|
.Respond("application/json", JsonConvert.SerializeObject(new List<Utilisateur>
|
||||||
|
{
|
||||||
|
new Utilisateur("testUser", "User", "Test", "dez", "password", "User", false)
|
||||||
|
}));
|
||||||
|
|
||||||
|
_clientHttp = _mockHttp.ToHttpClient();
|
||||||
|
_clientHttp.BaseAddress = new System.Uri("https://Verax.com");
|
||||||
|
|
||||||
|
_mockNavigationManager = new Mock<NavigationManager>();
|
||||||
|
_service = new UtilisateursDataServiceApi(_clientHttp, _mockNavigationManager.Object);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetAllUtilisateurs_ReturnsUsers()
|
||||||
|
{
|
||||||
|
// Act
|
||||||
|
var users = await _service.getAllUtilisateurs();
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Single(users);
|
||||||
|
Assert.Equal("testUser", users[0].Pseudo);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetUtilisateurFromPseudo_ReturnsUser()
|
||||||
|
{
|
||||||
|
// Act
|
||||||
|
var user = await _service.getUtilisateurFromPseudo("testUser");
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Equal("testUser", user.Pseudo);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in new issue