public async void ValidarFalhaResponsavelVinculadoProcesso()
        {
            // Arrange
            var command = new RemoverResponsavelCommand {
                Id = 1
            };

            this.MockResponsavelRepository
            .Setup(pr => pr.ObterPorId(1))
            .Returns(new Responsavel
            {
                ProcessoResponsaveis = new List <ProcessoResponsavel>
                {
                    new ProcessoResponsavel
                    {
                        Processo = new Processo {
                        }
                    }
                }
            });

            // Act
            var result = await this.sut.ValidateModelAsync(command);

            // Assert
            result.Should().BeFalse();
            this.notifications.FirstOrDefault(n => n.Message == ErrorMessages.ResponsavelVinculadoProcesso).Should().NotBeNull();
        }
        public async void ValidarFalhaIdVazio()
        {
            // Arrange
            var command = new RemoverResponsavelCommand();

            // Act
            var result = await this.sut.ValidateModelAsync(command);

            // Assert
            result.Should().BeFalse();
            this.notifications.FirstOrDefault(n => n.Message == $"Id: {ErrorMessages.ErroVazio}").Should().NotBeNull();
        }
        public async void ValidarFalhaResponsavelNaoExiste()
        {
            // Arrange
            var command = new RemoverResponsavelCommand {
                Id = 1
            };

            this.MockResponsavelRepository
            .Setup(pr => pr.ObterPorId(1))
            .Returns((Responsavel)null);

            // Act
            var result = await this.sut.ValidateModelAsync(command);

            // Assert
            result.Should().BeFalse();
            this.notifications.FirstOrDefault(n => n.Message == ErrorMessages.ResponsavelNaoEncontrado).Should().NotBeNull();
        }
        public RemoverResponsavelCommandHandlerTests()
        {
            this.mockResponsavelRepository = new Mock <IResponsavelRepository>();
            this.mockNotificationContext   = new Mock <INotificationContext>();
            this.mockValidator             = new Mock <IRemoverResponsavelCommandValidator>();
            this.mockUnitOfWork            = new Mock <IUnitOfWork>();
            this.mockLogger = new Mock <ILogger <RemoverResponsavelCommandHandler> >();

            this.command = new RemoverResponsavelCommand {
                Id = ProcessId
            };

            this.sut = new RemoverResponsavelCommandHandler(
                this.mockResponsavelRepository.Object,
                this.mockNotificationContext.Object,
                this.mockValidator.Object,
                this.mockUnitOfWork.Object,
                this.mockLogger.Object);
        }
        public async void ValidarValidator()
        {
            // Arrange
            var command = new RemoverResponsavelCommand {
                Id = 1
            };

            this.MockResponsavelRepository
            .Setup(pr => pr.ObterPorId(1))
            .Returns(this.UsuarioSemProcesso);

            this.MockSituacaoProcessoRepository
            .Setup(sp => sp.ObterPorId(1))
            .Returns(this.SituacaoEmAndamento);

            // Act
            var result = await this.sut.ValidateModelAsync(command);

            // Assert
            result.Should().BeTrue();
        }
 public async Task RemoverResponsavelAsync(RemoverResponsavelCommand command)
 {
     await this.mediator.Send(command);
 }