Début test Controller et suppression des test service car impossible
continuous-integration/drone/push Build is passing Details

deploiement^2^2
Maxime SAPOUNTZIS 1 year ago
parent 6c7970fda7
commit fd18a3e099

@ -0,0 +1,92 @@
using API.Controllers;
using Dto;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging.Abstractions;
using Moq;
using Shared;
using TestAPI.Extensions;
namespace TestAPI;
public class QueryUnitTest
{
private readonly Mock<IQueryService<QueryDto>> _queryService;
public QueryUnitTest()
{
_queryService = new Mock<IQueryService<QueryDto>>();
}
[Fact]
public void Select_Users_Success()
{
var userList = GetUsersData();
_queryService.Setup(x => x.ExecuteQuery("Select * from \"User\";","SQLuedo"))
.Returns(new QueryDto{Result = userList.ToString()});
var queryController = new QueryController(new NullLogger<QueryController>(), _queryService.Object);
var queryResult = queryController.ExecuteQuery("Select * from \"User\";", "SQLuedo");
if (queryResult is OkObjectResult okObjectResult)
{
Assert.NotNull(okObjectResult);
}
}
[Fact]
public void Select_Users_Failed_Cause_Database_Doesnt_Exists()
{
var userList = GetUsersData();
_queryService.Setup(x => x.ExecuteQuery("Select * from \"User\";", "SQLuedo"))
.Returns(new QueryDto { Result = userList.ToString() });
var queryController = new QueryController(new NullLogger<QueryController>(), _queryService.Object);
var queryResult = queryController.ExecuteQuery("Select * from \"User\";", "LABASEDEDONNEES");
if (queryResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204)
{
Assert.IsNotType<OkObjectResult>(queryResult);
}
}
private List<UserDto> GetUsersData()
{
List<UserDto> usersData = new List<UserDto>(4)
{
new(
0,
"Useruser",
"motdepasse",
"adressemail@gmail.com",
true
),
new
(
1,
"Leuser",
"motdepasse",
"deuxadresse@gmail.com",
false
),
new
(
2,
"gygyggyg",
"ennodlavehc",
"thirdadress@gmail.com",
false
),
new
(
"ferferf",
"h_nh_78",
"fourthadress@gmail.com",
false
),
};
return usersData;
}
}

@ -1,50 +0,0 @@
using DbContextLib;
using DbDataManager.Service;
using Entities;
using Microsoft.Data.Sqlite;
using Microsoft.EntityFrameworkCore;
using Model.OrderCriteria;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using API.Service;
using Model;
using Newtonsoft.Json;
using StubbedContextLib;
namespace TestAPI.ServiceAPI
{
public class UnitTestQueryDataServiceApi
{
private readonly StubbedContext _dbContext;
private readonly QueryDataServiceApi _queryService;
public UnitTestQueryDataServiceApi()
{
var connection = new SqliteConnection("DataSource=:memory:");
connection.Open();
var options = new DbContextOptionsBuilder<UserDbContext>()
.UseSqlite(connection)
.Options;
_dbContext = new StubbedContext(options);
_queryService = new QueryDataServiceApi();
}
[Fact]
public void ExecuteQuery_Success_When_Select_Users()
{
var jsonResult = _queryService.ExecuteQuery("Select * from \"User\";", "SQLuedo");
var result = JsonConvert.DeserializeObject<User[]>(jsonResult.Result);
Assert.NotNull(result);
Assert.Equal(11, result.Count());
}
}
}
Loading…
Cancel
Save