|
|
@ -0,0 +1,155 @@
|
|
|
|
|
|
|
|
using API.Controllers;
|
|
|
|
|
|
|
|
using Dto;
|
|
|
|
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
|
|
|
using Microsoft.Extensions.Logging.Abstractions;
|
|
|
|
|
|
|
|
using Moq;
|
|
|
|
|
|
|
|
using Shared;
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
using TestAPI.Extensions;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace TestAPI
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
public class SuccessesUnitTest
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
private readonly Mock<ISuccessService<SuccessDTO>> sucessService;
|
|
|
|
|
|
|
|
public SuccessesUnitTest()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
sucessService = new Mock<ISuccessService<SuccessDTO>>();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
|
|
|
public void GetSuccessesListSuccess()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var successesList = GetSuccessesData();
|
|
|
|
|
|
|
|
sucessService.Setup(x => x.GetSuccesses(1, 4, 0))
|
|
|
|
|
|
|
|
.Returns(successesList);
|
|
|
|
|
|
|
|
var successesController = new SuccessesController(sucessService.Object, new NullLogger<SuccessesController>());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var successesResult = successesController.GetSuccesses(1, 4, 0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (successesResult is OkObjectResult okObjectResult)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var valeur = okObjectResult.Value;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assert.NotNull(valeur);
|
|
|
|
|
|
|
|
Assert.Equal(GetSuccessesData().ToString(), valeur.ToString());
|
|
|
|
|
|
|
|
Assert.True(successesList.SequenceEqual(valeur as IEnumerable<SuccessDTO>, new SuccessIdEqualityComparer()));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
|
|
|
public void GetSuccessesListFail()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
sucessService.Setup(x => x.GetSuccesses(1, 4, 0))
|
|
|
|
|
|
|
|
.Returns(new List<SuccessDTO>());
|
|
|
|
|
|
|
|
var successesController = new SuccessesController(sucessService.Object, new NullLogger<SuccessesController>());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var successesResult = successesController.GetSuccesses(2, 3, 0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (successesResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assert.IsNotType<OkObjectResult>(successesResult);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
|
|
|
public void GetSuccessInquiryIdSuccess()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var successesList = GetSuccessesData();
|
|
|
|
|
|
|
|
sucessService.Setup(x => x.GetSuccessesByInquiryId(1))
|
|
|
|
|
|
|
|
.Returns(new List<SuccessDTO> { successesList[0], successesList[1] });
|
|
|
|
|
|
|
|
var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger<SuccessesController>());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var sucessesResult = SuccessesController.GetSuccessByInquiryId(1);
|
|
|
|
|
|
|
|
if (sucessesResult is OkObjectResult okObjectResult)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
List<SuccessDTO> valeur = okObjectResult.Value as List<SuccessDTO>;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assert.NotNull(valeur);
|
|
|
|
|
|
|
|
Assert.Equal(0, valeur[0].UserId);
|
|
|
|
|
|
|
|
Assert.Equal(1, valeur[0].InquiryId);
|
|
|
|
|
|
|
|
Assert.True(valeur[0].IsFinished);
|
|
|
|
|
|
|
|
Assert.Equal(1, valeur[1].UserId);
|
|
|
|
|
|
|
|
Assert.Equal(1, valeur[1].InquiryId);
|
|
|
|
|
|
|
|
Assert.True(valeur[1].IsFinished);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assert.Equal(valeur[1].GetHashCode(), successesList[1].GetHashCode());
|
|
|
|
|
|
|
|
Assert.True(valeur[1].Equals(successesList[1]));
|
|
|
|
|
|
|
|
Assert.False(valeur.Equals(new object()));
|
|
|
|
|
|
|
|
Assert.IsType<SuccessDTO>(valeur[0]);
|
|
|
|
|
|
|
|
Assert.Contains(valeur[1], successesList);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
|
|
|
public void GetSuccessInquiryIdFail()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var successesList = GetSuccessesData();
|
|
|
|
|
|
|
|
sucessService.Setup(x => x.GetSuccessesByInquiryId(1))
|
|
|
|
|
|
|
|
.Returns(new List<SuccessDTO> { successesList[0], successesList[1] });
|
|
|
|
|
|
|
|
var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger<SuccessesController>());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var sucessesResult = SuccessesController.GetSuccessByInquiryId(100);
|
|
|
|
|
|
|
|
if (sucessesResult is NotFoundObjectResult NFObjectResult)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var valeur = NFObjectResult.Value;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assert.NotNull(valeur);
|
|
|
|
|
|
|
|
Assert.IsNotType<SuccessDTO>(valeur);
|
|
|
|
|
|
|
|
Assert.DoesNotContain(valeur, successesList);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private List<SuccessDTO> GetSuccessesData()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
List<SuccessDTO> successesData = new List<SuccessDTO>(4)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
new (0,1,true),
|
|
|
|
|
|
|
|
new (1,1,true),
|
|
|
|
|
|
|
|
new (2,3,true),
|
|
|
|
|
|
|
|
new (3,4,true),
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
return successesData;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|