public void UnchangedExpiryDateDoesNotGenerateMetric() { // Arrange IDbSet <Poll> existingPolls = DbSetTestHelper.CreateMockDbSet <Poll>(); Poll existingPoll = CreatePoll(); DateTime currentExpiry = DateTime.UtcNow.AddHours(1); existingPoll.ExpiryDateUtc = currentExpiry; existingPolls.Add(existingPoll); IContextFactory contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls); ManagePollExpiryRequest request = new ManagePollExpiryRequest { ExpiryDateUtc = currentExpiry }; Mock <IMetricHandler> metricHandler = new Mock <IMetricHandler>(); ManageExpiryController controller = CreateManageExpiryController(contextFactory, metricHandler.Object); // Act controller.Put(PollManageGuid, request); // Assert metricHandler.Verify(m => m.HandleExpiryChangedEvent(It.IsAny <DateTimeOffset?>(), It.IsAny <Guid>()), Times.Never()); }
public void UnknownManageId_ReturnsNotFound() { IDbSet <Poll> existingPolls = DbSetTestHelper.CreateMockDbSet <Poll>(); IContextFactory contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls); ManagePollExpiryRequest request = new ManagePollExpiryRequest { }; ManageExpiryController controller = CreateManageExpiryController(contextFactory, new Mock <IMetricHandler>().Object); controller.Put(Guid.NewGuid(), request); }
public void ExpiryInThePast_IsRejected() { IDbSet <Poll> existingPolls = DbSetTestHelper.CreateMockDbSet <Poll>(); Poll existingPoll = CreatePoll(); existingPolls.Add(existingPoll); DateTime past = DateTime.UtcNow.AddHours(-1); IContextFactory contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls); ManagePollExpiryRequest request = new ManagePollExpiryRequest { ExpiryDateUtc = past }; ManageExpiryController controller = CreateManageExpiryController(contextFactory, new Mock <IMetricHandler>().Object); controller.Put(PollManageGuid, request); }
public void SetExpiry_SetsExpiry() { IDbSet <Poll> existingPolls = DbSetTestHelper.CreateMockDbSet <Poll>(); Poll existingPoll = CreatePoll(); existingPolls.Add(existingPoll); DateTime expiry = DateTime.UtcNow.AddHours(1); IContextFactory contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls); ManagePollExpiryRequest request = new ManagePollExpiryRequest { ExpiryDateUtc = expiry }; ManageExpiryController controller = CreateManageExpiryController(contextFactory, new Mock <IMetricHandler>().Object); controller.Put(PollManageGuid, request); Assert.AreEqual(expiry, existingPoll.ExpiryDateUtc); }
public void NullExpiry_SetsExpiryToNull() { // Arrange IDbSet <Poll> existingPolls = DbSetTestHelper.CreateMockDbSet <Poll>(); Poll existingPoll = CreatePoll(); existingPolls.Add(existingPoll); IContextFactory contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls); ManagePollExpiryRequest request = new ManagePollExpiryRequest { }; ManageExpiryController controller = CreateManageExpiryController(contextFactory, new Mock <IMetricHandler>().Object); controller.Validate(request); // Act controller.Put(PollManageGuid, request); // Assert Assert.IsNull(existingPoll.ExpiryDateUtc); }
public void ChangedExpiryDateGeneratesMetric() { // Arrange IDbSet <Poll> existingPolls = DbSetTestHelper.CreateMockDbSet <Poll>(); Poll existingPoll = CreatePoll(); existingPolls.Add(existingPoll); DateTime future = DateTime.UtcNow.AddHours(1); IContextFactory contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls); ManagePollExpiryRequest request = new ManagePollExpiryRequest { ExpiryDateUtc = future }; Mock <IMetricHandler> metricHandler = new Mock <IMetricHandler>(); ManageExpiryController controller = CreateManageExpiryController(contextFactory, metricHandler.Object); // Act controller.Put(PollManageGuid, request); // Assert metricHandler.Verify(m => m.HandleExpiryChangedEvent(future, existingPoll.UUID), Times.Once()); }