public async void Employee_AoCriarumEmployeeComComandoInvalido_RetornarNotificacoesComFalha()
        {
            //-------- -------------------------- Arrange -----------------------------//
            var commandBusiness = new OperationProfitRequest
            {
                BonusDistribuided = " "
            };
            var command = new List <EmployeeRequest>()
            {
                new EmployeeRequest {
                    Matricula      = null,
                    Nome           = null,
                    Area           = null,
                    Cargo          = null,
                    SalarioBruto   = "R$ 10000",
                    DataDeAdmissao = DateTime.Now
                }
            };

            //adicionar pedido
            _mocker.GetMock <IBusinessApplication>()
            .Setup(p => p.Add(commandBusiness));

            //----------------------------------- Act --------------------------------//
            var responseResult = await _handler.AddAsync(command);

            // ---------------------------------- Assert ------------------------------//
            Assert.True(responseResult.HasFails);
        }
        public async void Employee_AdicionarUmBonusAoFuncionarioComValorSerDistribuidoInsuficiente_RetornarNotificacoesComFalha()
        {
            //---------------------------- Arrange -------------------------//

            var commandBusiness = new OperationProfitRequest
            {
                BonusDistribuided = "R$ "
            };

            //adicionar a valor ser a distribuido
            _mocker.GetMock <IBusinessApplication>()
            .Setup(p => p.Add(commandBusiness))
            ;

            var command = new List <EmployeeRequest>()
            {
                new EmployeeRequest {
                    Matricula      = "0007676",
                    Nome           = "Maricela Martin",
                    Area           = "Serviços Gerais",
                    Cargo          = "Copeiro",
                    SalarioBruto   = "R$ 1.591,69",
                    DataDeAdmissao = DateTime.Parse("2018-01-17")
                }
            };

            //--------------------------------- Act ----------------------------//
            var responseResult = await _handler.AddAsync(command);

            //--------------------------------- Assert -------------------------//
            Assert.True(responseResult.HasFails);
        }
        public async Task Employee_NaoCriarEmployee_Retornar400BadRequest()
        {
            var commandBusiness = new OperationProfitRequest
            {
                BonusDistribuided = " "
            };
            var commandEmployeeRequest = new List <EmployeeRequest>()
            {
                new EmployeeRequest {
                    Matricula      = "0007676",
                    Nome           = "Maricela Martin",
                    Area           = "Serviços Gerais",
                    Cargo          = "Copeiro",
                    SalarioBruto   = "R$ 1.591,69",
                    DataDeAdmissao = DateTime.Parse("2018-01-17")
                }
            };

            // Act
            var postResponseBusiness = _testsFixture.Client.PostAsJsonAsync("/api/business/business", commandBusiness);

            var postResponse = await _testsFixture.Client.PostAsJsonAsync("/api/employee/bonus", commandEmployeeRequest);

            // Assert
            Assert.Equal(HttpStatusCode.BadRequest, postResponse.StatusCode);
        }
Example #4
0
        public ActionResult BonusCreate([FromBody] OperationProfitRequest operationProfitRequest)
        {
            var result = _businessAplication.Add(operationProfitRequest);

            if (result.HasFails)
            {
                _logger.LogError(default(EventId), $"Found fails to {nameof(BusinessController)} in BonusCreate {result.Fails}");
                return(BadRequest(result.Fails));
            }
            return(this.Ok(result.Data));
        }
 public async Task Business_CriarValorBonusDistribuido_Retornar200OKSucesso()
 {
     // Arrange
     var commandBusiness = new OperationProfitRequest
     {
         BonusDistribuided = "R$ 5000"
     };
    
     // Act
     var postResponseBusiness = await _testsFixture.Client.PostAsJsonAsync("/api/business/business", commandBusiness);
     // Assert
     postResponseBusiness.EnsureSuccessStatusCode();
 }
Example #6
0
        public void Business_AdicionarUmValoraSerDistribuidoComComandoInvalido_RetornarNotificacoesComFalha()
        {
            //----------------------------------- Arrange -------------------------//
            var command = new OperationProfitRequest
            {
                BonusDistribuided = null
            };

            //----------------------------------- Act ----------------------------//
            var responseResult = _handler.Add(command);

            //---------------------------------- Assert --------------------------//
            Assert.True(responseResult.HasFails);
        }
Example #7
0
        public ResponseResult Add(OperationProfitRequest operationProfitRequest)
        {
            var _response = new ResponseResult();

            try
            {
                operationProfitRequest.Validate();

                if (operationProfitRequest.Notifications.Any())
                {
                    _response.AddNotifications(operationProfitRequest.Notifications);
                    return(_response);
                }

                var value = 0.0m;
                if (operationProfitRequest.IsValid())
                {
                    value = Convert.ToDecimal(operationProfitRequest.BonusDistribuided.Remove(0, 3));
                }

                var entidade = new OperationProfit(value);
                _unitOfWork.Business.Add(_cacheConfig.Value.Key, entidade);

                _response.AddValue(new
                {
                    Status = "Cadastro realizado com sucesso"
                });
            }
            catch (ArgumentNullException ex) {
                _response.AddNotification(new Notification(nameof(BusinessApplication), $"Falha na operação {ex.Message}"));
                _logger.LogError(default(EventId), $"Found fails to {nameof(BusinessApplication)} in AddAsync{ex.Message} to {nameof(operationProfitRequest)}");
                throw;
            }
            catch (Exception ex)
            {
                _response.AddNotification(new Notification(nameof(BusinessApplication), $"Falha na operação {ex.Message}"));
                _logger.LogError(default(EventId), $"Found fails to {nameof(BusinessApplication)} in AddAsync{ex.Message} to {nameof(operationProfitRequest)}");
                throw;
            }

            return(_response);
        }
        public async void Employee_AdicionarUmBonusAoFuncionarioComValorNuloParaComando_RetornarException()
        {
            //---------------------------- Arrange -------------------------//
            var commandBusiness = new OperationProfitRequest
            {
                BonusDistribuided = "R$ 1.000.000,00 "
            };

            //adicionar a valor ser a distribuido
            _mocker.GetMock <IBusinessApplication>()
            .Setup(p => p.Add(commandBusiness))
            ;

            var command = new List <EmployeeRequest>();

            command = null;
            var expected = "Error objeto passado nulo";
            //--------------------------------- Act ----------------------------//
            var actual = Assert.ThrowsAsync <ArgumentNullException>(() => _handler.AddAsync(command));

            //--------------------------------- Assert -------------------------//
            Assert.NotNull(actual);
            // Assert.Equal(expected:expected, actual:actual.Result.Message);
        }