Ejemplo n.º 1
0
        private void ValidateProcesso(ProcessoDto dto, bool delete)
        {
            if (!delete)
            {
                if (!DateTime.TryParse(dto.DescricaoDistribuicao, out DateTime data))
                {
                    throw new ApplicationException("Processo: O campo 'Distribuição' possui um valor inválido.");
                }

                if (dto.IdTipoAcao == 0)
                {
                    throw new ApplicationException("Processo: O campo 'Tipo de ação' é obrigatório.");
                }

                if (dto.IdPasta == 0)
                {
                    throw new ApplicationException("Processo: O campo 'Referente ao caso' é obrigatório.");
                }

                if (!dto.NumeroProcesso.IsNullOrEmpty() && dto.NumeroProcesso.Length < 25)
                {
                    throw new ApplicationException("Processo: O campo 'Número do processo' deve ter 25 caracteres.");
                }
            }
        }
Ejemplo n.º 2
0
        public async void ValidarObterProcesso()
        {
            // Arrange
            var result = new ProcessoDto
            {
                Id = ProcessoId,
                DataDistribuicao   = DateTimeOffset.Now,
                Descricao          = "Descricao",
                NumeroProcesso     = "PastaFisicaCliente",
                PastaFisicaCliente = "",
                SegredoJustica     = true,
                SituacaoProcessoId = 1
            };

            mockProcessoService
            .Setup(rs => rs.ObterProcessoAsync(It.IsAny <ObterProcessoQuery>()))
            .Returns(Task.FromResult(result));

            mockApiResultHandler
            .Setup(rh => rh.Handle(sut, result))
            .Returns(sut.Ok(result));

            // Act
            IActionResult actionResult = await sut.ObterProcessoAsync(ProcessoId);

            // Assert
            actionResult.Should().BeOfType <OkObjectResult>().Subject.Value.Should().BeEquivalentTo(result);
        }
        public async void ValidarObterProcesso()
        {
            // Arrange
            var query = new ObterProcessoQuery {
                Id = this.ProcessoId
            };

            var processo = new ProcessoDto
            {
                Id = 1,
                DataDistribuicao   = DateTimeOffset.Now,
                Descricao          = "Descrição",
                NumeroProcesso     = "NumeroProcesso",
                PastaFisicaCliente = "PastaFisicaCliente",
                SegredoJustica     = true,
                SituacaoProcessoId = 1
            };

            this.mockMediator
            .Setup(m => m.Send(query, default))
            .Returns(Task.FromResult(new RequestResponseWrapper <ProcessoDto>(true, processo)));

            // Act
            var response = await this.sut.ObterProcessoAsync(query);

            // Assert
            response.Should().BeEquivalentTo(processo);
        }
Ejemplo n.º 4
0
        public bool RemoveProcesso(ProcessoDto dto)
        {
            Contexto.Database.ExecuteSqlCommand($@"UPDATE dbo.processo 
                SET IdUsuarioExclusao = {SessionUser.IdUsuario}, 
                DataHoraExclusao = '{DateTime.Now.ToString("dd/MM/yyyy HH:mm")}'
                WHERE Id = {dto.Id}");

            return(true);
        }
Ejemplo n.º 5
0
        private void BtnAppWord_Click(object sender, RoutedEventArgs e)
        {
            var word = new ProcessoDto
            {
                Nome         = "Microsoft Word",
                TamanhoMB    = 95,
                DuracaoSurto = 5
            };

            _simuladorPresenter.Carregar(word);
        }
Ejemplo n.º 6
0
        private void BtnAppNetflix_Click(object sender, RoutedEventArgs e)
        {
            var netflix = new ProcessoDto
            {
                Nome         = "Netflix",
                TamanhoMB    = 70,
                DuracaoSurto = 6
            };

            _simuladorPresenter.Carregar(netflix);
        }
Ejemplo n.º 7
0
        private void BtnAppPowerPoint_Click(object sender, RoutedEventArgs e)
        {
            var powerPoint = new ProcessoDto
            {
                Nome         = "Microsoft PowerPoint",
                TamanhoMB    = 60,
                DuracaoSurto = 5
            };

            _simuladorPresenter.Carregar(powerPoint);
        }
Ejemplo n.º 8
0
        private void BtnAppVisualStudio_Click(object sender, RoutedEventArgs e)
        {
            var visualStudio = new ProcessoDto
            {
                Nome         = "Visual Studio",
                TamanhoMB    = 100,
                DuracaoSurto = 10
            };

            _simuladorPresenter.Carregar(visualStudio);
        }
Ejemplo n.º 9
0
        private void BtnAppChrome_Click(object sender, RoutedEventArgs e)
        {
            var chrome = new ProcessoDto
            {
                Nome         = "Google Chrome",
                TamanhoMB    = 128,
                DuracaoSurto = 9
            };

            _simuladorPresenter.Carregar(chrome);
        }
Ejemplo n.º 10
0
        private void BtnAppAdobeReader_Click(object sender, RoutedEventArgs e)
        {
            var adobeReader = new ProcessoDto
            {
                Nome         = "Adobe Reader",
                TamanhoMB    = 50,
                DuracaoSurto = 8
            };

            _simuladorPresenter.Carregar(adobeReader);
        }
Ejemplo n.º 11
0
        private void BtnAppCmd_Click(object sender, RoutedEventArgs e)
        {
            var cmd = new ProcessoDto
            {
                Nome         = "Prompt de Comando",
                TamanhoMB    = 8,
                DuracaoSurto = 7
            };

            _simuladorPresenter.Carregar(cmd);
        }
Ejemplo n.º 12
0
        private void BtnAppExcel_Click(object sender, RoutedEventArgs e)
        {
            var excel = new ProcessoDto
            {
                Nome         = "Microsoft Excel",
                TamanhoMB    = 113,
                DuracaoSurto = 4
            };

            _simuladorPresenter.Carregar(excel);
        }
Ejemplo n.º 13
0
        public bool EditProcesso(ProcessoDto dto)
        {
            var processo = (from p in Contexto.Processo
                            where p.Id == dto.Id
                            select p).FirstOrDefault();

            processo.Distribuicao           = Convert.ToDateTime(dto.DescricaoDistribuicao);
            processo.NumeroProcesso         = dto.NumeroProcesso;
            processo.IdPasta                = dto.IdPasta;
            processo.IdPolo                 = dto.IdPolo;
            processo.IdSituacaoNpjAtual     = dto.IdSituacaoNpjAtual;
            processo.IdSituacaoProjudiAtual = dto.IdSituacaoProjudiAtual;
            processo.IdTipoAcao             = dto.IdTipoAcao;
            processo.Status                 = dto.Status;
            processo.ExpectativaValorCausa  = dto.ExpectativaValorCausa;
            processo.PercentualHonorarios   = dto.PercentualHonorarios;
            processo.ValorHonorarios        = dto.ValorHonorarios;
            processo.SegmentoJudiciario     = dto.SegmentoJudiciario;
            processo.Comarca                = dto.Comarca;
            processo.Vara              = dto.Vara;
            processo.Tribunal          = dto.Tribunal;
            processo.AnotacoesGerais   = dto.AnotacoesGerais;
            processo.DataHoraAlteracao = DateTime.Now;

            Contexto.Database.ExecuteSqlCommand($@"UPDATE dbo.atendimento 
                SET Temporario = false, IdProcesso = {dto.Id}
                WHERE IdUsuario = {SessionUser.IdUsuario}
                AND Temporario = true AND IdPasta IS NULL");
            Contexto.Database.ExecuteSqlCommand($@"DELETE FROM dbo.atendimento 
                WHERE IdUsuario = {SessionUser.IdUsuario} AND 
                Esconder = true AND IdPasta IS NULL;");
            Contexto.Database.ExecuteSqlCommand($@"UPDATE dbo.atendimento 
                SET Excluir = false, IdUsuarioExclusao = {SessionUser.IdUsuario}
                WHERE IdUsuario = {SessionUser.IdUsuario} AND 
                Excluir = true AND IdPasta IS NULL;");

            var ultimosStatus = (from a in Contexto.Atendimento
                                 where a.IdProcesso == dto.Id && !a.IdUsuarioExclusao.HasValue
                                 orderby a.DataHoraAlteracao descending
                                 select new { a.IdSituacaoAtendimento, a.IdSituacaoNpj, a.IdSituacaoProjudi })
                                .FirstOrDefault();

            if (ultimosStatus != null)
            {
                processo.IdSituacaoAtendimentoAtual = ultimosStatus.IdSituacaoAtendimento;
                processo.IdSituacaoNpjAtual         = ultimosStatus.IdSituacaoNpj;
                processo.IdSituacaoProjudiAtual     = ultimosStatus.IdSituacaoProjudi;
            }

            Contexto.SaveChanges();

            return(true);
        }
Ejemplo n.º 14
0
        public void ExibirProcessoCpu(ProcessoDto processo)
        {
            Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() =>
            {
                lstCpu.Items.Clear();

                if (processo != null)
                {
                    lstCpu.Items.Add(processo);
                }
            }));
        }
        public ActionResult AtualizarProcesso([FromBody] ProcessoDto dto)
        {
            _processosCollection.UpdateOne(Builders <Processo> .Filter
                                           .Where(_ => _.Id == dto.Id),
                                           Builders <Processo> .Update.Set("nomeCliente", dto.NomeCliente)
                                           .Set("numProcesso", dto.NumProcesso)
                                           .Set("dataDecisao", dto.DataDecisao)
                                           .Set("descricao", dto.Descricao)
                                           .Set("proximoPasso", dto.ProximoPasso)
                                           .Set("linkProcesso", dto.LinkProcesso));

            return(Ok("Processo atualizado com sucesso"));
        }
Ejemplo n.º 16
0
        public async Task <ProcessoResultadoDto> EditarProcesso(ProcessoDto edicao)
        {
            try
            {
                Processo processoSelecionado = await _processosRepository.BuscarPorNumeroProcesso(edicao.NumeroProcesso);

                if (processoSelecionado is null)
                {
                    return new ProcessoResultadoDto {
                               msg = $"Processo {edicao.NumeroProcesso} não localizado"
                    }
                }
                ;
                if (processoSelecionado.FlgAprovado)
                {
                    return new ProcessoResultadoDto {
                               msg = $"Processo {edicao.NumeroProcesso} já foi comprado, não pode mais ser editado"
                    }
                }
                ;

                edicao.Escritorio     = Regex.Replace(edicao.Escritorio, @"[\d-]", string.Empty).Trim();
                edicao.NomeReclamante = Regex.Replace(edicao.NomeReclamante, @"[\d-]", string.Empty).Trim();

                var resultadoValidacoes = (ValidationResult) await Validacao(edicao, false);

                if (!resultadoValidacoes.IsValid)
                {
                    return(new ProcessoResultadoDto
                    {
                        processo = null,
                        msg = resultadoValidacoes.ToString(" | ")
                    });
                }

                processoSelecionado.DataEdicao     = DateTime.UtcNow;
                processoSelecionado.Escritorio     = edicao.Escritorio;
                processoSelecionado.NomeReclamante = edicao.NomeReclamante;
                processoSelecionado.ValorCausa     = edicao.ValorCausa;

                return(new ProcessoResultadoDto
                {
                    msg = "Sucesso",
                    processo = _mapper.Map <ProcessoRetornoDto>(await _repository.UpdateAsync(processoSelecionado))
                });
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 17
0
        public static Processo Converter(ProcessoDto processo)
        {
            if (processo == null)
            {
                return(null);
            }

            return(new Processo
            {
                EnderecoLogico = processo.EnderecoLogico,
                Nome = processo.Nome,
                TamanhoEmMB = processo.TamanhoMB,
                DuracaoSurto = processo.DuracaoSurto
            });
        }
        public ActionResult SalvarProcesso([FromBody] ProcessoDto dto)
        {
            var processo = new Processo(
                dto.Id,
                dto.NomeCliente,
                dto.NumProcesso,
                dto.DataDecisao,
                dto.Descricao,
                dto.ProximoPasso,
                dto.LinkProcesso
                );

            _processosCollection.InsertOne(processo);

            return(StatusCode(201, "Processo cadastrado com sucesso"));
        }
Ejemplo n.º 19
0
        public async Task <object> Validacao(ProcessoDto processo, bool validaNumeroProcessoExistente)
        {
            try
            {
                ProcessoValidacao validacoes = new ProcessoValidacao();
                var resultadoValidacoes      = validacoes.Validate(processo);

                if (validaNumeroProcessoExistente && await _processosRepository.BuscarPorNumeroProcesso(processo.NumeroProcesso) != null)
                {
                    resultadoValidacoes.Errors.Add(new ValidationFailure("NumeroProcesso", $"Número do processo {processo.NumeroProcesso} já cadastrado"));
                }
                return(resultadoValidacoes);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 20
0
        public async Task E_Possivel_Criar_Processo()
        {
            var serviceMock = new Mock <IProcessoService>();


            serviceMock.Setup(x => x.CriarProcesso(It.IsAny <ProcessoDto>())).ReturnsAsync(new ProcessoResultadoDto
            {
                msg      = "Sucesso",
                processo = new ProcessoRetornoDto
                {
                    DataInclusao   = DateTime.UtcNow,
                    Escritorio     = Faker.Company.Name(),
                    FlgAprovado    = false,
                    FlgAtivo       = true,
                    NomeReclamante = Faker.Name.FullName(),
                    NumeroProcesso = Faker.RandomNumber.Next().ToString(),
                    ValorCausa     = Faker.RandomNumber.Next()
                }
            });

            _controller = new ProcessoController(serviceMock.Object);

            Mock <IUrlHelper> url = new Mock <IUrlHelper>();

            url.Setup(x => x.Link(It.IsAny <string>(), It.IsAny <object>())).Returns("http://localhost:5000");

            _controller.Url = url.Object;

            var processoDtoCreate = new ProcessoDto
            {
                Escritorio     = Faker.Company.Name(),
                NomeReclamante = Faker.Name.FullName(),
                NumeroProcesso = Faker.RandomNumber.Next().ToString(),
                ValorCausa     = Faker.RandomNumber.Next()
            };

            var result = await _controller.CriarProcesso(processoDtoCreate);

            Assert.True(result is CreatedResult);

            var resultValue = ((CreatedResult)result).Value as ProcessoResultadoDto;

            Assert.NotNull(resultValue);
        }
Ejemplo n.º 21
0
        public async Task E_Possivel_Invocar_a_Controller_EditarProcesso()
        {
            var serviceMock    = new Mock <IProcessoService>();
            var nomeReclamente = Faker.Name.FullName();
            var escritorio     = Faker.Company.Name();
            var numeroProcesso = Faker.RandomNumber.Next().ToString();

            serviceMock.Setup(m => m.EditarProcesso(It.IsAny <ProcessoDto>())).ReturnsAsync(
                new ProcessoResultadoDto
            {
                msg      = "Sucesso",
                processo = new ProcessoRetornoDto
                {
                    DataInclusao   = DateTime.UtcNow,
                    Escritorio     = escritorio,
                    FlgAprovado    = false,
                    FlgAtivo       = true,
                    NomeReclamante = nomeReclamente,
                    NumeroProcesso = numeroProcesso,
                    ValorCausa     = Faker.RandomNumber.Next()
                }
            }
                );

            _controller = new ProcessoController(serviceMock.Object);

            var processoDtoUpdate = new ProcessoDto
            {
                NumeroProcesso = numeroProcesso,
                Escritorio     = Faker.Company.Name(),
                NomeReclamante = nomeReclamente,
                ValorCausa     = Faker.RandomNumber.Next()
            };

            var result = await _controller.EditarProcesso(processoDtoUpdate);

            Assert.True(result is OkObjectResult);

            ProcessoResultadoDto resultValue = ((OkObjectResult)result).Value as ProcessoResultadoDto;

            Assert.NotNull(resultValue);
            Assert.Equal(processoDtoUpdate.NumeroProcesso, resultValue.processo.NumeroProcesso);
            Assert.Equal(processoDtoUpdate.NomeReclamante, resultValue.processo.NomeReclamante);
        }
        public void Carregar(ProcessoDto processo)
        {
            var novoProcesso = processo.ConverterParaProcesso();

            _cpuService.Carregar(novoProcesso);

            if (_dispatcherService.Preemptivo() && processoExecucao != null)
            {
                _clock.Stop();
                _dispatcherService.SalvarContexto(processoExecucao);
                processoExecucao = null;
                ExibirProcessoCpu();
                _clock.Start();
            }

            ExibirProcessosMemoriaPrincipal();
            ExibirEspacoLivreMemoriaPrincipal();
            ExibirProcessosMemoriaSecundaria();
        }
Ejemplo n.º 23
0
        public async Task <ProcessoResultadoDto> CriarProcesso(ProcessoDto processo)
        {
            try
            {
                processo.Escritorio     = Regex.Replace(processo.Escritorio, @"[\d-]", string.Empty).Trim();
                processo.NomeReclamante = Regex.Replace(processo.NomeReclamante, @"[\d-]", string.Empty).Trim();

                var resultadoValidacoes = (ValidationResult) await Validacao(processo, true);

                if (!resultadoValidacoes.IsValid)
                {
                    return(new ProcessoResultadoDto
                    {
                        msg = resultadoValidacoes.ToString(" | ")
                    });
                }


                Processo baseAprovacao = new Processo
                {
                    DataInclusao   = DateTime.UtcNow,
                    Escritorio     = processo.Escritorio,
                    FlgAprovado    = false,
                    FlgAtivo       = true,
                    NomeReclamante = processo.NomeReclamante,
                    NumeroProcesso = processo.NumeroProcesso,
                    ValorCausa     = processo.ValorCausa
                };
                Processo resultado = await _repository.InsertAsync(baseAprovacao);

                return(new ProcessoResultadoDto
                {
                    msg = "Sucesso",
                    processo = _mapper.Map <ProcessoRetornoDto>(resultado)
                });
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 24
0
        public bool SaveProcesso(ProcessoDto dto)
        {
            var retorno = Contexto.Processo.Add(new Processo()
            {
                Distribuicao           = Convert.ToDateTime(dto.DescricaoDistribuicao),
                NumeroProcesso         = dto.NumeroProcesso,
                IdPasta                = dto.IdPasta,
                IdPolo                 = dto.IdPolo,
                IdSituacaoNpjAtual     = dto.IdSituacaoNpjAtual,
                IdSituacaoProjudiAtual = dto.IdSituacaoProjudiAtual,
                IdTipoAcao             = dto.IdTipoAcao,
                Status                 = dto.Status,
                ExpectativaValorCausa  = dto.ExpectativaValorCausa,
                PercentualHonorarios   = dto.PercentualHonorarios,
                ValorHonorarios        = dto.ValorHonorarios,
                SegmentoJudiciario     = dto.SegmentoJudiciario,
                Comarca                = dto.Comarca,
                Vara              = dto.Vara,
                Tribunal          = dto.Tribunal,
                AnotacoesGerais   = dto.AnotacoesGerais,
                DataHoraCriacao   = DateTime.Now,
                IdUsuarioCriacao  = SessionUser.IdUsuario,
                DataHoraAlteracao = DateTime.Now
            });

            Contexto.SaveChanges();

            Contexto.Database.ExecuteSqlCommand($@"UPDATE dbo.atendimento 
                SET Temporario = false, IdProcesso = {retorno.Id}
                WHERE IdUsuario = {SessionUser.IdUsuario} AND IdProcesso IS NULL
                AND Temporario = true AND IdPasta IS NULL");
            Contexto.Database.ExecuteSqlCommand($@"DELETE FROM dbo.atendimento 
                WHERE IdUsuario = {SessionUser.IdUsuario} AND 
                Esconder = true AND IdPasta IS NULL;");
            Contexto.Database.ExecuteSqlCommand($@"UPDATE dbo.atendimento 
                SET Excluir = false, IdUsuarioExclusao = {SessionUser.IdUsuario}
                WHERE IdUsuario = {SessionUser.IdUsuario} AND 
                Excluir = true AND IdPasta IS NULL;");

            return(true);
        }
Ejemplo n.º 25
0
        public async Task <ActionResult> CriarProcesso([FromBody] ProcessoDto aprovacao)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                ProcessoResultadoDto result = await _service.CriarProcesso(aprovacao);

                if (result.processo != null)
                {
                    return(Created(new Uri(Url.Link("ObterPorNumeroProcesso", new { numeroProcesso = result.processo.NumeroProcesso })), result));
                }
                return(BadRequest(result));
            }
            catch (ArgumentException ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }
Ejemplo n.º 26
0
        public async Task <ActionResult> EditarProcesso([FromBody] ProcessoDto edicao)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                ProcessoResultadoDto resultado = await _service.EditarProcesso(edicao);

                if (resultado.processo is null)
                {
                    return(BadRequest(resultado));
                }
                return(Ok(resultado));
            }
            catch (ArgumentException ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }
        public async Task E_Possivel_Invocar_a_Controller_EditarProcesso()
        {
            var serviceMock    = new Mock <IProcessoService>();
            var nomeReclamente = Faker.Name.FullName();
            var escritorio     = Faker.Company.Name();
            var numeroProcesso = Faker.RandomNumber.Next().ToString();

            serviceMock.Setup(m => m.EditarProcesso(It.IsAny <ProcessoDto>())).ReturnsAsync(
                new ProcessoResultadoDto
            {
                msg      = "Sucesso",
                processo = new ProcessoRetornoDto
                {
                    DataInclusao   = DateTime.UtcNow,
                    Escritorio     = escritorio,
                    FlgAprovado    = false,
                    FlgAtivo       = true,
                    NomeReclamante = nomeReclamente,
                    NumeroProcesso = "",
                    ValorCausa     = Faker.RandomNumber.Next()
                }
            }
                );

            _controller = new ProcessoController(serviceMock.Object);
            _controller.ModelState.AddModelError("NumeroProcesso", "NumeroProcesso é obrigatório");

            var processoDtoUpdate = new ProcessoDto
            {
                NumeroProcesso = "",
                Escritorio     = Faker.Company.Name(),
                NomeReclamante = nomeReclamente,
                ValorCausa     = Faker.RandomNumber.Next()
            };

            var result = await _controller.EditarProcesso(processoDtoUpdate);

            Assert.True(result is BadRequestObjectResult);
            Assert.False(_controller.ModelState.IsValid);
        }
Ejemplo n.º 28
0
 public static Processo ConverterParaProcesso(this ProcessoDto processo)
 {
     return(ConversorProcesso.Converter(processo));
 }
        public BaseProcessosTestes()
        {
            Id             = Faker.RandomNumber.Next();
            NumeroProcesso = Faker.RandomNumber.Next().ToString();
            ValorCausa     = Faker.RandomNumber.Next();
            NomeReclamante = Faker.Name.FullName();
            Escritorio     = Faker.Company.Name();

            for (int i = 0; i < 10; i++)
            {
                listaProcessos.Add(new ProcessoRetornoDto
                {
                    Escritorio     = Faker.Company.Name(),
                    NomeReclamante = Faker.Name.FullName(),
                    NumeroProcesso = Faker.RandomNumber.Next().ToString(),
                    ValorCausa     = Faker.RandomNumber.Next(),
                    DataInclusao   = DateTime.UtcNow,
                    FlgAtivo       = true
                });
            }

            processoDtoCreate = new ProcessoDto
            {
                Escritorio     = Escritorio,
                NomeReclamante = NomeReclamante,
                NumeroProcesso = NumeroProcesso,
                ValorCausa     = ValorCausa
            };

            processoDtoUpdate = new ProcessoDto
            {
                Escritorio     = Faker.Company.Name(),
                NomeReclamante = Faker.Name.FullName(),
                NumeroProcesso = NumeroProcesso,
                ValorCausa     = Faker.RandomNumber.Next()
            };
            resultadoDtoSucessoUpdate = new ProcessoResultadoDto
            {
                msg      = "Sucesso",
                processo = new ProcessoRetornoDto
                {
                    Escritorio     = processoDtoUpdate.Escritorio,
                    NomeReclamante = processoDtoUpdate.NomeReclamante,
                    NumeroProcesso = processoDtoUpdate.NumeroProcesso,
                    ValorCausa     = processoDtoUpdate.ValorCausa,
                    DataInclusao   = DateTime.UtcNow,
                    FlgAtivo       = true
                }
            };

            tblProcessos = new ProcessoRetornoDto
            {
                DataInclusao   = DateTime.UtcNow,
                Escritorio     = Escritorio,
                FlgAprovado    = false,
                FlgAtivo       = true,
                NomeReclamante = NomeReclamante,
                NumeroProcesso = NumeroProcesso,
                ValorCausa     = ValorCausa
            };

            resultadoDtoSucesso = new ProcessoResultadoDto
            {
                msg      = "Sucesso",
                processo = tblProcessos
            };

            resultadoDtoFalha = new ProcessoResultadoDto {
                msg = "Número do processo é um campo obrigatório"
            };

            compraProcesso = new CompraProcessoDto
            {
                NumeroProcesso = NumeroProcesso,
                StatusCompra   = true
            };
            resultadoCompraDto = new ProcessoResultadoDto
            {
                msg      = "Sucesso",
                processo = new ProcessoRetornoDto
                {
                    DataInclusao   = DateTime.UtcNow,
                    Escritorio     = Escritorio,
                    FlgAprovado    = true,
                    FlgAtivo       = true,
                    NomeReclamante = NomeReclamante,
                    NumeroProcesso = NumeroProcesso,
                    ValorCausa     = ValorCausa,
                    DataCompra     = DateTime.UtcNow
                }
            };

            statusProcesso = new StatusProcessoDto
            {
                NumeroProcesso = NumeroProcesso,
                Status         = true
            };

            resultadoStatusDto = new ProcessoResultadoDto
            {
                msg      = "Sucesso",
                processo = new ProcessoRetornoDto
                {
                    DataInclusao   = DateTime.UtcNow,
                    Escritorio     = Escritorio,
                    FlgAprovado    = true,
                    FlgAtivo       = true,
                    NomeReclamante = NomeReclamante,
                    NumeroProcesso = NumeroProcesso,
                    ValorCausa     = ValorCausa,
                    DataCompra     = DateTime.UtcNow
                }
            };
        }
Ejemplo n.º 30
0
        public async Task E_Possivel_Realizar_Requisicoes_Processos()
        {
            _nomeReclamante = Faker.Name.FullName();
            _numeroProcesso = new Random().Next().ToString().PadLeft(12, '0');

            ProcessoDto entity = new ProcessoDto
            {
                Escritorio     = Faker.Company.Name(),
                NomeReclamante = _nomeReclamante,
                NumeroProcesso = _numeroProcesso,
                ValorCausa     = Faker.RandomNumber.Next()
            };

            //CriarProcesso
            var response = await PostJsonAsync(entity, $"{hostApi}Processo/CriarProcesso", client);

            var postResult = await response.Content.ReadAsStringAsync();

            var registroPost = JsonConvert.DeserializeObject <ProcessoResultadoDto>(postResult);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            Assert.Equal(_nomeReclamante, registroPost.processo.NomeReclamante);
            Assert.Equal(_numeroProcesso, registroPost.processo.NumeroProcesso);

            string   jsonResult          = "";
            Processo registroSelecionado = null;

            //ObterPorNumeroProcesso
            response = await client.GetAsync($"{hostApi}Processo/ObterPorNumeroProcesso/{registroPost.processo.NumeroProcesso}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            registroSelecionado = JsonConvert.DeserializeObject <Processo>(jsonResult);
            Assert.NotNull(registroSelecionado);
            Assert.Equal(registroSelecionado.NumeroProcesso, registroPost.processo.NumeroProcesso);
            Assert.Equal(registroSelecionado.NomeReclamante, registroPost.processo.NomeReclamante);

            //ObterPorNumeroProcesso - no content
            response = await client.GetAsync($"{hostApi}Processo/ObterPorNumeroProcesso/{Faker.RandomNumber.Next().ToString()}");

            Assert.Equal(HttpStatusCode.NoContent, response.StatusCode);

            //ObterTodosProcessos
            response = await client.GetAsync($"{hostApi}Processo/ObterTodosProcessos");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            var registros = JsonConvert.DeserializeObject <List <Processo> >(jsonResult);

            Assert.NotNull(registros);
            Assert.True(registros.Count > 0);

            ProcessoDto entityUpdate = new ProcessoDto
            {
                Escritorio     = Faker.Company.Name(),
                NomeReclamante = _nomeReclamante,
                NumeroProcesso = _numeroProcesso,
                ValorCausa     = Faker.RandomNumber.Next()
            };

            StringContent stringContent;

            //EditarProcesso
            stringContent = new StringContent(JsonConvert.SerializeObject(entityUpdate),
                                              Encoding.UTF8, "application/json");
            response = await client.PatchAsync($"{hostApi}Processo/EditarProcesso", stringContent);

            jsonResult = await response.Content.ReadAsStringAsync();

            var registroAtualizado = JsonConvert.DeserializeObject <ProcessoResultadoDto>(jsonResult);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.NotEqual(registroPost.processo.Escritorio, registroAtualizado.processo.Escritorio);
            Assert.NotEqual(registroPost.processo.ValorCausa, registroAtualizado.processo.ValorCausa);

            ProcessoResultadoDto registroAtualizadoStatus;

            //AlterarStatusProcesso - inativar
            stringContent = new StringContent(JsonConvert.SerializeObject(new StatusProcessoDto {
                NumeroProcesso = _numeroProcesso, Status = false
            }),
                                              Encoding.UTF8, "application/json");
            response = await client.PatchAsync($"{hostApi}Processo/AlterarStatusProcesso", stringContent);

            jsonResult = await response.Content.ReadAsStringAsync();

            registroAtualizadoStatus = JsonConvert.DeserializeObject <ProcessoResultadoDto>(jsonResult);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.NotEqual(registroPost.processo.FlgAtivo, registroAtualizadoStatus.processo.FlgAtivo);

            //AlterarStatusProcesso - ativar
            stringContent = new StringContent(JsonConvert.SerializeObject(new StatusProcessoDto {
                NumeroProcesso = _numeroProcesso, Status = true
            }),
                                              Encoding.UTF8, "application/json");
            response = await client.PatchAsync($"{hostApi}Processo/AlterarStatusProcesso", stringContent);

            jsonResult = await response.Content.ReadAsStringAsync();

            registroAtualizadoStatus = JsonConvert.DeserializeObject <ProcessoResultadoDto>(jsonResult);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.True(registroAtualizadoStatus.processo.FlgAtivo);

            //AprovarCompra
            stringContent = new StringContent(JsonConvert.SerializeObject(new CompraProcessoDto {
                NumeroProcesso = _numeroProcesso, StatusCompra = true
            }),
                                              Encoding.UTF8, "application/json");
            response = await client.PatchAsync($"{hostApi}Processo/AprovarCompra", stringContent);

            jsonResult = await response.Content.ReadAsStringAsync();

            registroAtualizadoStatus = JsonConvert.DeserializeObject <ProcessoResultadoDto>(jsonResult);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.True(registroAtualizadoStatus.processo.FlgAprovado);
            Assert.NotNull(registroAtualizadoStatus.processo.DataCompra);
        }