public async Task SetStatusAndResetLastTestCycleIntervalAsync(
            MonitorStatus oldStatus,
            MonitorStatus newStatus)
        {
            // Arrange
            var monitor = new NcMonitor
            {
                StatusId = (int)oldStatus,
                LastTestCycleInterval = new TimeSpan(2, 3, 4),
            };

            var monitorRepo = new Mock <IMonitorRepository>();

            IMonitorManager monitorManager = new MonitorManager(
                It.IsAny <IChannelRepository>(),
                monitorRepo.Object,
                It.IsAny <IRecordRepository>(),
                It.IsAny <IScenarioRepository>());

            // Act
            await monitorManager.SetStatusAndResetLastTestCycleIntervalAsync(
                monitor,
                newStatus);

            // Assert
            monitorRepo.Verify(x => x.UpdateAsync(monitor), Times.Once());
            Assert.Equal(new TimeSpan?(), monitor.LastTestCycleInterval);
            Assert.Equal(newStatus, monitor.StatusEnum());
        }