示例#1
0
        public void GetErrorsCountMetricsByTimePeriod_ShouldCall_GetByTimePeriod_From_Repository()
        {
            // устанавливаем параметр заглушки
            // в заглушке прописываем что в репозиторий прилетит DotNetMetric объект
            _mockRepository.Setup(repository => repository.GetByTimePeriod(It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>())).Returns(new List <DotNetMetric>()).Verifiable();

            // выполняем действие на контроллере
            var result = _controller.GetMetricsByTimePeriod(new DateTimeOffset(DateTime.Now), new DateTimeOffset(DateTime.Now));

            // проверяем заглушку на то, что пока работал контроллер
            // действительно вызвался метод Create репозитория с нужным типом объекта в параметре
            _mockRepository.Verify(repository => repository.GetByTimePeriod(It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>()), Times.Once());
        }
        public void GetMetricsByTimePeriod_ReturnsOk()
        {
            //Moq Setup
            repository.Setup(r => r.GetByTimePeriod(It.IsAny <MetricsAgent.DAL.Requests.DotNetMetricGetByTimePeriodRequest>())).Returns(new List <DotNetMetric>());

            //Arrange
            DotNetMetricGetByTimePeriodRequest request = new DotNetMetricGetByTimePeriodRequest
            {
                From = DateTimeOffset.FromUnixTimeSeconds(0),
                To   = DateTimeOffset.FromUnixTimeSeconds(100)
            };

            //Act
            var result = controller.GetMetricsByTimePeriod(request);

            // Assert
            repository.Verify(r => r.GetByTimePeriod(It.IsAny <MetricsAgent.DAL.Requests.DotNetMetricGetByTimePeriodRequest>()), Times.AtMostOnce());
            _ = Assert.IsAssignableFrom <IActionResult>(result);
        }