< Summary

Information
Class: Pomodoro.Web.Components.TodaySummaryBase
Assembly: Pomodoro.Web
File(s): /home/runner/work/Pomodoro/Pomodoro/src/Pomodoro.Web/Components/TodaySummary.razor.cs
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 39
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_TotalFocusMinutes()100%11100%
get_PomodoroCount()100%11100%
get_TasksWorkedOn()100%11100%
FormatTime(...)100%22100%

File(s)

/home/runner/work/Pomodoro/Pomodoro/src/Pomodoro.Web/Components/TodaySummary.razor.cs

#LineLine coverage
 1using Microsoft.AspNetCore.Components;
 2
 3namespace Pomodoro.Web.Components;
 4
 5/// <summary>
 6/// Code-behind for TodaySummary component
 7/// Separates business logic from view
 8/// </summary>
 9public class TodaySummaryBase : ComponentBase
 10{
 11    #region Parameters (Model)
 12
 13    [Parameter]
 52214    public int TotalFocusMinutes { get; set; }
 15
 16    [Parameter]
 52217    public int PomodoroCount { get; set; }
 18
 19    [Parameter]
 52220    public int TasksWorkedOn { get; set; }
 21
 22    #endregion
 23
 24    #region Business Logic Methods
 25
 26    /// <summary>
 27    /// Formats minutes into human-readable time format
 28    /// </summary>
 29    protected string FormatTime(int minutes)
 26130    {
 26131        if (minutes < Constants.TimeConversion.MinutesPerHour)
 25332            return string.Format(Constants.TimeFormats.MinutesFormat, minutes);
 833        var hours = minutes / Constants.TimeConversion.MinutesPerHour;
 834        var mins = minutes % Constants.TimeConversion.MinutesPerHour;
 835        return string.Format(Constants.TimeFormats.HoursMinutesFormat, hours, mins);
 26136    }
 37
 38    #endregion
 39}