public async Task <ProcessoResultadoDto> AlterarStatusProcesso(StatusProcessoDto statusProcesso)
        {
            try
            {
                Processo processoSelecionado = await _processosRepository.BuscarPorNumeroProcesso(statusProcesso.NumeroProcesso);

                if (processoSelecionado is null)
                {
                    return new ProcessoResultadoDto {
                               msg = $"Processo {statusProcesso.NumeroProcesso} não localizado"
                    }
                }
                ;
                if (processoSelecionado.FlgAprovado)
                {
                    return new ProcessoResultadoDto {
                               msg = $"Processo {statusProcesso.NumeroProcesso} já foi comprado, você não pode alterar o status"
                    }
                }
                ;

                processoSelecionado.FlgAtivo   = statusProcesso.Status;
                processoSelecionado.DataEdicao = DateTime.UtcNow;
                return(new ProcessoResultadoDto
                {
                    msg = "Sucesso",
                    processo = _mapper.Map <ProcessoRetornoDto>(await _repository.UpdateAsync(processoSelecionado))
                });
            }
            catch (Exception)
            {
                throw;
            }
        }
        public async Task E_Possivel_Invocar_a_Controller_AlterarStatusProcesso()
        {
            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.AlterarStatusProcesso(It.IsAny <StatusProcessoDto>())).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 StatusProcessoDto
            {
                NumeroProcesso = numeroProcesso,
                Status         = true
            };

            var result = await _controller.AlterarStatusProcesso(processoDtoUpdate);

            Assert.True(result is OkObjectResult);

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

            Assert.NotNull(resultValue);
            Assert.Equal(processoDtoUpdate.NumeroProcesso, resultValue.processo.NumeroProcesso);
        }
Beispiel #3
0
        public async Task <ActionResult> AlterarStatusProcesso([FromBody] StatusProcessoDto statusProcesso)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                ProcessoResultadoDto resultado = await _service.AlterarStatusProcesso(statusProcesso);

                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_AlterarStatusProcesso()
        {
            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.AlterarStatusProcesso(It.IsAny <StatusProcessoDto>())).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 StatusProcessoDto
            {
                NumeroProcesso = "",
                Status         = true
            };

            var result = await _controller.AlterarStatusProcesso(processoDtoUpdate);

            Assert.True(result is BadRequestObjectResult);
            Assert.False(_controller.ModelState.IsValid);
        }
        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
                }
            };
        }