Exemplo n.º 1
0
 public ActionResult Add(CustoChamada custoChamada)
 {
     try
     {
         _custoChamadaServiceService.Add(custoChamada);
         return(Created("api/ddds", custoChamada));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.ToString()));
     }
 }
        public void CustoChamadaService_Add_Return_ThrowsException()
        {
            var custoChamada = new CustoChamada
            {
                Id           = 1,
                DDDOrigemId  = 1,
                DDDDestinoId = 1,
                CustoMinuto  = 1.9M
            };

            Assert.Throws <Exception>(() => _serviceMock.Add(custoChamada));
        }
        public void CustoChamadaService_Add_Return_Be_Sucess()
        {
            var custoChamada = new CustoChamada
            {
                Id           = 1,
                DDDOrigemId  = 1,
                DDDDestinoId = 2,
                CustoMinuto  = 1.9M
            };

            _serviceMock.Add(custoChamada);

            _custoChamadaRepositoryMock.Verify(r => r.Add(
                                                   It.Is <CustoChamada>(v => v.Id == custoChamada.Id)));
        }
Exemplo n.º 4
0
        public void CustoChamada_Save_Changes_Is_Called()
        {
            var custoChamada = new CustoChamada
            {
                Id           = 1,
                DDDOrigemId  = 1,
                DDDDestinoId = 2,
                CustoMinuto  = 1.90M
            };

            _custoChamadaRepository.Add(custoChamada);
            var retorno = _custoChamadaRepository.GetById(1);

            //Assert
            Assert.NotNull(retorno);
            Assert.IsAssignableFrom <CustoChamada>(retorno);
        }
        private void BindCustoChamadas()
        {
            var custoChamada1 = new CustoChamada
            {
                Id           = 1,
                DDDOrigemId  = 1,
                DDDDestinoId = 2,
                CustoMinuto  = 1.9M
            };
            var custoChamada2 = new CustoChamada
            {
                Id           = 2,
                DDDOrigemId  = 1,
                DDDDestinoId = 3,
                CustoMinuto  = 1.7M
            };

            _custoChamadaServiceMock.Setup(x => x.Get(1, 2)).Returns(custoChamada1);
            _custoChamadaServiceMock.Setup(x => x.Get(1, 3)).Returns(custoChamada2);
        }
Exemplo n.º 6
0
        public async Task Post_Returns_Created_Response()
        {
            var ddd = new CustoChamada
            {
                DDDOrigemId  = 1,
                DDDDestinoId = 2,
                CustoMinuto  = 2.5M
            };

            HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(ddd), Encoding.UTF8);

            httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            var postRequest = new HttpRequestMessage(HttpMethod.Post, "/api/custochamadas");

            postRequest.Content = httpContent;

            var response = await _client.SendAsync(postRequest);

            response.EnsureSuccessStatusCode();
            response.StatusCode.Should().Be(HttpStatusCode.Created);
        }
        public void Simular(SimulacaoChamada simulacaoChamada)
        {
            Validar(simulacaoChamada);
            if (Erros.Count > 0)
            {
                throw new Exception(string.Join(". ", Erros.ToArray()));
            }

            simulacaoChamada.DDDOrigem  = _dddService.GetById(simulacaoChamada.DDDOrigemId);
            simulacaoChamada.DDDDestino = _dddService.GetById(simulacaoChamada.DDDDestinoId);
            // Buscar Plano
            simulacaoChamada.Plano = _planoService.GetById(simulacaoChamada.PlanoId);
            // Buscar Custo Chamada
            CustoChamada custoChamada = _custoChamadaService.Get(simulacaoChamada.DDDOrigemId, simulacaoChamada.DDDDestinoId);

            if (custoChamada != null)
            {
                //Custo sem fale mais
                simulacaoChamada.CustoSemFaleMais = simulacaoChamada.Tempo * custoChamada.CustoMinuto;

                // Custo com fale mais
                if (simulacaoChamada.Tempo > simulacaoChamada.Plano.TempoMinutos)
                {
                    // obter total de minutos excedentes do plano selecionado
                    int minutosExcedente = simulacaoChamada.Tempo - simulacaoChamada.Plano.TempoMinutos;
                    // calcular custo com fale mais
                    simulacaoChamada.CustoComFaleMais = minutosExcedente * custoChamada.CustoMinuto;
                    // adicionar acrescimo
                    simulacaoChamada.CustoComFaleMais = Convert.ToDecimal(simulacaoChamada.CustoComFaleMais) + Convert.ToDecimal(simulacaoChamada.CustoComFaleMais) * simulacaoChamada.Plano.CustoAdicionalMinuto / 100;
                }
                else
                {
                    simulacaoChamada.CustoComFaleMais = 0;
                }
            }
        }