Début des test Moq et ajout de méthodes d'extensions pour un UserDto

pull/40/head
Maxime SAPOUNTZIS 1 year ago
parent 37958ca428
commit 125c6be8e1

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dto;
namespace TestAPI.Extensions
{
class UserDtoIdEqualityComparer : EqualityComparer<UserDTO>
{
public override bool Equals(UserDTO x, UserDTO y)
{
return x.Id == y.Id;
}
public override int GetHashCode(UserDTO obj)
{
return obj.Id;
}
}
}

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using API.Controllers;
using API.Service;
using DbContextLib;
using DbDataManager.Service;
using Dto;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Infrastructure;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Npgsql.Internal;
using StubbedContextLib;
using Moq;
namespace TestAPI
{
public class StatusCodeUserUnitTest
{
}
}

@ -22,6 +22,7 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="Moq" Version="4.20.70" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.0" />
<PackageReference Include="xunit" Version="2.7.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.7">

@ -1,15 +1,84 @@
using System.Collections;
using API.Controllers;
using API.Service;
using DbContextLib;
using DbDataManager.Service;
using Dto;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging.Abstractions;
using ModelToEntities.Business;
using Moq;
using Shared;
namespace TestAPI
{
public class UserUnitTest
{
private readonly Mock<IUserService<UserDTO>> userService;
public UserUnitTest()
{
userService = new Mock<IUserService<UserDTO>>();
}
[Fact]
public void GetUserList()
{
//arrange
var productList = GetUsersData();
userService.Setup(x => x.GetUsers(1 ,5))
.Returns(productList);
var userController = new UserController(new NullLogger<UserController>(), userService.Object);
//act
var userResult = userController.GetUsers(1,5);
if (userResult is OkObjectResult okObjectResult)
{
var valeur = okObjectResult.Value;
Assert.NotNull(valeur);
Assert.Equal(GetUsersData().ToString(), valeur.ToString());
Assert.True(productList.SequenceEqual(valeur as IEnumerable<UserDTO>,));
}
}
private List<UserDTO> GetUsersData()
{
List<UserDTO> usersData = new List<UserDTO>(3)
{
new (
0,
"Useruser",
"motdepasse",
"adressemail@gmail.com" ,
true
),
new
(
1,
"Leuser",
"motdepasse",
"deuxadresse@gmail.com" ,
false
),
new
(
2,
"gygyggyg",
"ennodlavehc",
"thirdadress@gmail.com" ,
false
),
};
return usersData;
}
}
}
Loading…
Cancel
Save