public async Task GivenNoDateInTheMessage_ThenUseTodaysDate() { var targetDate = DateTime.Today.AddDays(-1); _timeProviderMock.Setup(t => t.Today).Returns(targetDate); _queryStoreHouseKeepingServiceMock.Setup(s => s.GetStaleDocumentsAsync <QueryProjectionBase>(It.IsAny <string>(), It.IsAny <DateTime>())).ReturnsAsync(new List <QueryProjectionBase>()); _queryStoreHouseKeepingServiceMock.Setup(s => s.DeleteStaleDocumentsAsync <QueryProjectionBase>(It.IsAny <string>(), It.IsAny <IEnumerable <string> >())).ReturnsAsync(0); var sut = new DeleteStaleQueryStoreDocumentsQueueTrigger(_loggerMock.Object, _jobsConfig, _timeProviderMock.Object, _queryStoreHouseKeepingServiceMock.Object); await sut.DeleteStaleQueryStoreDocumentsAsync("{}", null); _queryStoreHouseKeepingServiceMock.Verify(s => s.GetStaleDocumentsAsync <QueryProjectionBase>(It.IsAny <string>(), targetDate.AddDays(Days * -1)), Times.Exactly(4)); _timeProviderMock.VerifyGet(t => t.Today); }
public async Task GivenDateInTheMessage_ThenUseThatDate() { _queryStoreHouseKeepingServiceMock.Setup(s => s.GetStaleDocumentsAsync <QueryProjectionBase>(It.IsAny <string>(), It.IsAny <DateTime>())).ReturnsAsync(new List <QueryProjectionBase>()); _queryStoreHouseKeepingServiceMock.Setup(s => s.DeleteStaleDocumentsAsync <QueryProjectionBase>(It.IsAny <string>(), It.IsAny <IEnumerable <string> >())).ReturnsAsync(0); var sut = new DeleteStaleQueryStoreDocumentsQueueTrigger(_loggerMock.Object, _jobsConfig, _timeProviderMock.Object, _queryStoreHouseKeepingServiceMock.Object); var message = new DeleteStaleQueryStoreDocumentsQueueMessage() { CreatedByScheduleDate = DateTime.Today }; await sut.DeleteStaleQueryStoreDocumentsAsync(JsonConvert.SerializeObject(message), null); _queryStoreHouseKeepingServiceMock.Verify(s => s.GetStaleDocumentsAsync <QueryProjectionBase>(It.IsAny <string>(), DateTime.Today.AddDays(Days * -1)), Times.Exactly(4)); _timeProviderMock.Verify(t => t.Today, Times.Never); }
public async Task GivenStaleDocumentsExist_ThenDeleteStaleDocuments() { var viewType = "ClosedVacancy"; var testId = Guid.NewGuid().ToString(); _timeProviderMock.Setup(t => t.Today).Returns(DateTime.Today); _queryStoreHouseKeepingServiceMock.Setup(s => s.GetStaleDocumentsAsync <QueryProjectionBase>(viewType, It.IsAny <DateTime>())).ReturnsAsync(new List <QueryProjectionBase>() { new ClosedVacancy() { Id = testId } }); _queryStoreHouseKeepingServiceMock.Setup(s => s.GetStaleDocumentsAsync <QueryProjectionBase>(It.IsNotIn(new [] { viewType }), It.IsAny <DateTime>())).ReturnsAsync(new List <QueryProjectionBase>()); _queryStoreHouseKeepingServiceMock.Setup(s => s.DeleteStaleDocumentsAsync <QueryProjectionBase>(viewType, It.IsAny <IEnumerable <string> >())).ReturnsAsync(1); var sut = new DeleteStaleQueryStoreDocumentsQueueTrigger(_loggerMock.Object, _jobsConfig, _timeProviderMock.Object, _queryStoreHouseKeepingServiceMock.Object); await sut.DeleteStaleQueryStoreDocumentsAsync("", null); _queryStoreHouseKeepingServiceMock.Verify(s => s.GetStaleDocumentsAsync <QueryProjectionBase>(It.IsAny <string>(), DateTime.Today.AddDays(Days * -1)), Times.Exactly(4)); _queryStoreHouseKeepingServiceMock.Verify(s => s.DeleteStaleDocumentsAsync <QueryProjectionBase>(It.IsAny <string>(), It.IsAny <IEnumerable <string> >())); }