public async Task <IActionResult> GerarRendimentos(int id, int meses) { var usuario = User.Identity.Name; try { Plano plano = await planosDAL.BuscarPlanoCompleto(id); if (plano == null || plano.Usuario != usuario) { throw new KeyNotFoundException("Plano não encontrado"); } List <ResumoFinanceiro> rendimentos = plano.PrevisaoRendimentos(meses); return(Ok(rendimentos)); } catch (KeyNotFoundException ex) { gravadorLog.GravarLogErro(ex, 400, $"Usuário: {usuario} - PlanoId: {id}"); return(BadRequest(ex.Message)); } catch (Exception ex) { gravadorLog.GravarLogErro(ex, 500); return(StatusCode(500)); } }
public void RetornandoDiasCorretosPlanoFinanceiro() { Plano plano = DadosBaseTestes.GeradorPlanoCompleto(); List <ResumoFinanceiro> resumoFinanceiros = plano.PrevisaoRendimentos(10); Assert.Equal(10, resumoFinanceiros.Count); }
public void PlanoSemConfiguracaoCiclos() { Plano plano = DadosBaseTestes.GeradorPlanoCompleto(); plano.ConfigCiclos = null; Assert.Throws <ArgumentNullException>(() => plano.PrevisaoRendimentos(10)); }
public void RetornaValorCorretoPrevisaoRendimentos(string mes, double esperado) { Plano plano = DadosBaseTestes.GeradorPlanoSimples(); List <ResumoFinanceiro> resumosFinanceiros = plano.PrevisaoRendimentos(10); ResumoFinanceiro resumo = resumosFinanceiros .FirstOrDefault(r => r.AnoMes == mes); double valorAtual = Math.Round(resumo.ValorTotal, 2); Assert.Equal(esperado, valorAtual); }