public void GetMetricsByTimePeriod_ShouldCall_GetByTimePeriod_From_Repository()
        {
            // устанавливаем параметр заглушки
            // в заглушке прописываем что в репозиторий прилетит NetworkMetric объект
            _mockRepository.Setup(repository => repository.GetByTimePeriod(It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>())).Returns(new List <NetworkMetric>()).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());
        }
Example #2
0
        public void GetMetricsByTimePeriod_ReturnsOk()
        {
            //Moq Setup
            repository.Setup(r => r.GetByTimePeriod(It.IsAny <MetricsAgent.DAL.Requests.NetworkMetricGetByTimePeriodRequest>())).Returns(new List <NetworkMetric>());

            //Arrange
            NetworkMetricGetByTimePeriodRequest request = new NetworkMetricGetByTimePeriodRequest
            {
                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.NetworkMetricGetByTimePeriodRequest>()), Times.AtMostOnce());
            _ = Assert.IsAssignableFrom <IActionResult>(result);
        }