Files
CleanArchitecture/CleanArchitecture/CleanArchitecture.Application.UnitTests/Features/Video/Queries/GetVideosListQueryHandlerXUnitTests.cs
Alejandro Sarmiento b2fd3c642c V1
2024-03-10 11:12:51 +01:00

44 lines
1.6 KiB
C#

using AutoMapper;
using CleanArchitecture.Application.Features.Streamers.Queries.DTOs;
using CleanArchitecture.Application.Features.Streamers.Queries.GetStreamersListByUserName;
using CleanArchitecture.Application.Features.Videos.Queries.DTOs;
using CleanArchitecture.Application.Features.Videos.Queries.GetVideosList;
using CleanArchitecture.Application.Mappings;
using CleanArchitecture.Application.UnitTests.Mocks;
using CleanArchitecture.Infrastructure.Repositories;
using Moq;
using Shouldly;
using Xunit;
namespace CleanArchitecture.Application.UnitTests.Features.Video.Queries
{
public class GetVideosListQueryHandlerXUnitTests
{
private readonly IMapper mapper;
private Mock<UnitOfWork> mockUnitOfWork;
public GetVideosListQueryHandlerXUnitTests()
{
mockUnitOfWork = MockUnitOfWork.GetUnitOfWork();
var mapperConfiguration = new MapperConfiguration(cfg =>
{
cfg.AddProfile<MappingProfile>();
});
mapper = mapperConfiguration.CreateMapper();
MockVideoRepository.AddDataVideoRepository(mockUnitOfWork.Object.StreamerDbContext);
}
[Fact]
public async Task GetVideoListTest()
{
var handler = new GetVideosListByUserNameQueryHandler(mockUnitOfWork.Object, mapper);
var request = new GetVideosListByUserNameQuery("Alex");
var result = await handler.Handle(request, CancellationToken.None);
result.ShouldBeOfType<List<VideosVm>>();
result.Count.ShouldBe(1);
}
}
}