public void DDDService_GetById_Return_Be_Sucess() { _planoRepository.Setup(x => x.GetById(1)).Returns(new Plano { Id = 1, Descricao = "Falemais 30", TempoMinutos = 30, CustoAdicionalMinuto = 10 }); var ddd = _serviceMock.GetById(1); _planoRepository.Verify(r => r.GetById( It.Is <int>(v => v == ddd.Id))); }
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; } } }