< Summary

Information
Class: Despesas.Backend.Controllers.SaldoController
Assembly: Despesas.Backend
File(s): /src/Despesas.Backend/Controllers/SaldoController.cs
Line coverage
100%
Covered lines: 28
Uncovered lines: 0
Coverable lines: 28
Total lines: 72
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
Get()100%11100%
GetSaldoByAno()100%11100%
GetSaldoByMesAno()100%11100%

File(s)

/src/Despesas.Backend/Controllers/SaldoController.cs

#LineLine coverage
 1using Despesas.Application.Abstractions;
 2using Despesas.Application.Dtos;
 3using Microsoft.AspNetCore.Authorization;
 4using Microsoft.AspNetCore.Mvc;
 5
 6namespace Despesas.Backend.Controllers;
 7
 8public class SaldoController : AuthController
 9{
 10    private ISaldoBusiness _saldoBusiness;
 611    public SaldoController(ISaldoBusiness saldoBusiness)
 612    {
 613        _saldoBusiness = saldoBusiness;
 614    }
 15
 16    [HttpGet]
 17    [Authorize("Bearer", Roles = "User, Admin")]
 18    [ProducesResponseType(200, Type = typeof(SaldoDto))]
 19    [ProducesResponseType(400, Type = typeof(string))]
 20    [ProducesResponseType(401)]
 21    [ProducesResponseType(403)]
 22    public async Task<IActionResult> Get()
 223    {
 24        try
 225        {
 226            var saldo = await _saldoBusiness.GetSaldo(UserIdentity);
 127            return Ok(saldo);
 28        }
 129        catch
 130        {
 131            return BadRequest("Erro ao gerar saldo!");
 32        }
 233    }
 34
 35    [HttpGet("ByAno/{ano}")]
 36    [Authorize("Bearer", Roles = "User, Admin")]
 37    [ProducesResponseType(200, Type = typeof(SaldoDto))]
 38    [ProducesResponseType(400, Type = typeof(string))]
 39    [ProducesResponseType(401)]
 40    [ProducesResponseType(403)]
 41    public async Task<IActionResult> GetSaldoByAno([FromRoute] DateTime ano)
 242    {
 43        try
 244        {
 245            var saldo = await _saldoBusiness.GetSaldoAnual(ano, UserIdentity);
 146            return Ok(saldo);
 47        }
 148        catch
 149        {
 150            return BadRequest("Erro ao gerar saldo!");
 51        }
 252    }
 53
 54    [HttpGet("ByMesAno/{anoMes}")]
 55    [Authorize("Bearer", Roles = "User, Admin")]
 56    [ProducesResponseType(200, Type = typeof(SaldoDto))]
 57    [ProducesResponseType(400, Type = typeof(string))]
 58    [ProducesResponseType(401)]
 59    [ProducesResponseType(403)]
 60    public async Task<IActionResult> GetSaldoByMesAno([FromRoute] DateTime anoMes)
 261    {
 62        try
 263        {
 264            var saldo = await _saldoBusiness.GetSaldoByMesAno(anoMes, UserIdentity);
 165            return Ok(saldo);
 66        }
 167        catch
 168        {
 169            return BadRequest("Erro ao gerar saldo!");
 70        }
 271    }
 72}