< Summary

Information
Class: Pomodoro.Web.Services.IndexPageState
Assembly: Pomodoro.Web
File(s): /home/runner/work/Pomodoro/Pomodoro/src/Pomodoro.Web/Services/IndexPagePresenterService.cs
Line coverage
100%
Covered lines: 7
Uncovered lines: 0
Coverable lines: 7
Total lines: 54
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
get_Tasks()100%11100%
get_CurrentTaskId()100%11100%
get_RemainingTime()100%11100%
get_CurrentSessionType()100%11100%
get_IsTimerRunning()100%11100%
get_IsTimerPaused()100%11100%
get_IsTimerStarted()100%11100%

File(s)

/home/runner/work/Pomodoro/Pomodoro/src/Pomodoro.Web/Services/IndexPagePresenterService.cs

#LineLine coverage
 1using Microsoft.Extensions.Logging;
 2using Pomodoro.Web.Models;
 3using Pomodoro.Web.Services;
 4
 5namespace Pomodoro.Web.Services;
 6
 7public class IndexPagePresenterService
 8{
 9    private readonly ILogger<IndexPagePresenterService> _logger;
 10
 11    public IndexPagePresenterService(ILogger<IndexPagePresenterService> logger)
 12    {
 13        _logger = logger;
 14    }
 15
 16    public IndexPageState UpdateState(ITaskService taskService, ITimerService timerService)
 17    {
 18        try
 19        {
 20            return new IndexPageState
 21            {
 22                Tasks = taskService.Tasks?.ToList() ?? new List<TaskItem>(),
 23                CurrentTaskId = taskService.CurrentTaskId,
 24                RemainingTime = timerService.RemainingTime,
 25                CurrentSessionType = timerService.CurrentSessionType,
 26                IsTimerRunning = timerService.IsRunning,
 27                IsTimerPaused = timerService.IsPaused,
 28                IsTimerStarted = timerService.IsStarted
 29            };
 30        }
 31        catch (Exception ex)
 32        {
 33            _logger.LogError(ex, "Error in UpdateState");
 34            return new IndexPageState
 35            {
 36                Tasks = new List<TaskItem>(),
 37                RemainingTime = TimeSpan.FromMinutes(Constants.Timer.DefaultPomodoroMinutes),
 38                CurrentSessionType = SessionType.Pomodoro,
 39                IsTimerStarted = false
 40            };
 41        }
 42    }
 43}
 44
 45public class IndexPageState
 46{
 101347    public List<TaskItem> Tasks { get; set; } = new();
 67248    public Guid? CurrentTaskId { get; set; }
 67449    public TimeSpan RemainingTime { get; set; }
 67450    public SessionType CurrentSessionType { get; set; }
 67251    public bool IsTimerRunning { get; set; }
 67252    public bool IsTimerPaused { get; set; }
 67453    public bool IsTimerStarted { get; set; }
 54}