62 lines
2.2 KiB
C#
62 lines
2.2 KiB
C#
using AutoMapper;
|
|
using CleanArchitecture.Application.Contracts.Infrastructure;
|
|
|
|
using CleanArchitecture.Application.Features.Streamers.Commands.UpdateStreamer;
|
|
using CleanArchitecture.Application.Mappings;
|
|
using CleanArchitecture.Application.UnitTests.Mocks;
|
|
using CleanArchitecture.Domain;
|
|
using CleanArchitecture.Infrastructure.Repositories;
|
|
using Microsoft.Extensions.Logging;
|
|
using Moq;
|
|
using Shouldly;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Xunit;
|
|
|
|
namespace CleanArchitecture.Application.UnitTests.Features.Streamers.Commands.UpdateStreamer
|
|
{
|
|
public class UpdateStreamerCommandHandlerXUnitTests
|
|
{
|
|
private readonly IMapper mapper;
|
|
private readonly Mock<UnitOfWork> mockUnitOfWork;
|
|
private readonly Mock<IEmailService> emailService;
|
|
private readonly Mock<ILogger<UpdateStreamerCommandHandler>> logger;
|
|
|
|
public UpdateStreamerCommandHandlerXUnitTests()
|
|
{
|
|
mockUnitOfWork = MockUnitOfWork.GetUnitOfWork();
|
|
var mapperConfiguration = new MapperConfiguration(cfg =>
|
|
{
|
|
cfg.AddProfile<MappingProfile>();
|
|
});
|
|
mapper = mapperConfiguration.CreateMapper();
|
|
emailService = new Mock<IEmailService>();
|
|
logger = new Mock<ILogger<UpdateStreamerCommandHandler>>();
|
|
|
|
MockStreamerRepository.AddDataStreamerRepository(mockUnitOfWork.Object.StreamerDbContext);
|
|
}
|
|
|
|
[Fact]
|
|
public async Task UpdateStreamerTest()
|
|
{
|
|
var handler = new UpdateStreamerCommandHandler(mockUnitOfWork.Object, mapper, logger.Object);
|
|
var request = new UpdateStreamerCommand()
|
|
{
|
|
Id = Guid.Parse("edfe00d5-7599-4788-b52a-acc2a683b188"),
|
|
Nombre = "AlexStream2",
|
|
Url = "https://AlexStream2.com"
|
|
};
|
|
var result = await handler.Handle(request, CancellationToken.None);
|
|
if(result == null)
|
|
{
|
|
throw new Exception("Result is null");
|
|
}
|
|
result.ShouldBeOfType<Streamer>();
|
|
result.Nombre.ShouldBe("AlexStream2");
|
|
}
|
|
}
|
|
}
|