< Summary

Information
Class: Despesas.Backend.Controllers.GraficosController
Assembly: Despesas.Backend
File(s): /src/Despesas.Backend/Controllers/GraficosController.cs
Line coverage
100%
Covered lines: 19
Uncovered lines: 0
Coverable lines: 19
Total lines: 42
Line coverage: 100%
Branch coverage
50%
Covered branches: 4
Total branches: 8
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
GetByAnoByIdUsuario()50%88100%

File(s)

/src/Despesas.Backend/Controllers/GraficosController.cs

#LineLine coverage
 1using Despesas.Application.Abstractions;
 2using Microsoft.AspNetCore.Authorization;
 3using Microsoft.AspNetCore.Mvc;
 4
 5namespace Despesas.Backend.Controllers;
 6
 7public class GraficosController : AuthController
 8{
 9    private IGraficosBusiness _graficosBusiness;
 210    private object labels = new();
 211    private object datasets = new();
 212    public GraficosController(IGraficosBusiness graficosBusiness)
 213    {
 214        _graficosBusiness = graficosBusiness;
 215    }
 16
 17    [HttpGet("Bar/{ano}")]
 18    [Authorize("Bearer", Roles = "User, Admin")]
 19    [ProducesResponseType(200, Type = typeof(Dictionary<List<object>, List<string>>))]
 20    [ProducesResponseType(400, Type = typeof(string))]
 21    [ProducesResponseType(401)]
 22    [ProducesResponseType(403)]
 23    public async Task<IActionResult> GetByAnoByIdUsuario([FromRoute] DateTime ano)
 224    {
 25        try
 226        {
 227            var dadosGrafico = await _graficosBusiness.GetDadosGraficoByAnoByIdUsuario(UserIdentity, ano);
 28
 129            datasets = new List<object> {
 130                new { label = "Despesas", Data = dadosGrafico?.SomatorioDespesasPorAno?.Values.ToArray(), borderColor = 
 131                new { label = "Receitas", Data = dadosGrafico?.SomatorioReceitasPorAno?.Values.ToArray(), borderColor = 
 132            };
 33
 134            labels = new List<string> { "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "S
 135            return Ok(new { datasets, labels });
 36        }
 137        catch
 138        {
 139            return BadRequest("Erro ao gerar dados do Gráfico!");
 40        }
 241    }
 42}