public async Task BuscarEditoraPorId_DeveRetornarComSucesso() { var newId = Guid.NewGuid(); var mapper = new Mock <IMapper>(); var notificador = new Notificador(); var editora = new Domain.Entities.Editora(newId, "Editora Fake", "*****@*****.**", "Brasil"); var editoraViewModel = new EditoraViewModel { Id = editora.Id, Nome = editora.Nome, Email = editora.Email, Pais = editora.Pais }; var query = new Mock <IEditoraRepository>(); query.Setup(x => x.BuscarEditoraPorId(It.IsAny <Guid>())) .ReturnsAsync(editora); mapper.Setup(x => x.Map <EditoraViewModel>(It.IsAny <Domain.Entities.Editora>())) .Returns(editoraViewModel); var useCase = new BuscarEditoraPorIdUseCase(query.Object, notificador, mapper.Object); var resultado = await useCase.Executar(newId); resultado.Should().Be(editoraViewModel); }
public async Task BuscarEditoraPorId_DeveRetornarNulo_ENotificar() { var mapper = new Mock <IMapper>(); var notificador = new Notificador(); var query = new Mock <IEditoraRepository>(); query.Setup(x => x.BuscarEditoraPorId(It.IsAny <Guid>())) .Callback(() => notificador.AdicionarErro("editora", "Não Encontrada")); var useCase = new BuscarEditoraPorIdUseCase(query.Object, notificador, mapper.Object); var resultado = await useCase.Executar(Guid.NewGuid()); resultado.Should().BeNull(); notificador.ExistemErros.Should().BeTrue(); }