public void GetMetricsByTimePeriod_ShouldCall_GetByTimePeriod_From_Repository() { // устанавливаем параметр заглушки // в заглушке прописываем что в репозиторий прилетит CpuMetric объект _mockRepository.Setup(repository => repository.GetByTimePeriod(It.IsAny <DateTimeOffset>(), It.IsAny <DateTimeOffset>())).Returns(new List <CpuMetric>()).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.CpuMetricGetByTimePeriodRequest>())) .Returns(new List <CpuMetric>()); //Arrange CpuMetricGetByTimePeriodRequest request = new CpuMetricGetByTimePeriodRequest { 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.CpuMetricGetByTimePeriodRequest>()), Times.AtMostOnce()); _ = Assert.IsAssignableFrom <IActionResult>(result); }