public async Task HandleAsync(MovementDateChangeEvent @event) { var movementDateHistory = new MovementDateHistory(@event.MovementId, new DateTimeOffset(@event.PreviousDate, TimeSpan.Zero)); context.MovementDateHistories.Add(movementDateHistory); await context.SaveChangesAsync(); }
public void NewMovementDateHistorySetsChangedDateToUtcNow() { SystemTime.Freeze(); var result = new MovementDateHistory(AnyGuid, AnyDate); Assert.Equal(SystemTime.UtcNow, result.DateChanged); SystemTime.Unfreeze(); }
public async Task WhenMultiPreviousDates_ReturnsOldestPreviousDate() { var movement = new Movement(1, AnyGuid, AnyDate, userId); var oldestDateHistory = new MovementDateHistory(AnyGuid, new DateTime(2015, 1, 5)); ObjectInstantiator<MovementDateHistory>.SetProperty(m => m.DateChanged, new DateTime(2015, 10, 10), oldestDateHistory); var otherDateHistory = new MovementDateHistory(AnyGuid, new DateTime(2015, 1, 3)); ObjectInstantiator<MovementDateHistory>.SetProperty(m => m.DateChanged, new DateTime(2015, 10, 11), otherDateHistory); A.CallTo(() => historyRepository.GetByMovementId(A<Guid>.Ignored)) .Returns(new[] { oldestDateHistory, otherDateHistory }); var dateService = new OriginalMovementDate(historyRepository); Assert.Equal(oldestDateHistory.PreviousDate, await dateService.Get(movement)); }
public async Task WhenMultiPreviousDates_ReturnsOldestPreviousDate() { var movement = new Movement(1, AnyGuid, AnyDate, userId); var oldestDateHistory = new MovementDateHistory(AnyGuid, new DateTime(2015, 1, 5)); ObjectInstantiator <MovementDateHistory> .SetProperty(m => m.DateChanged, new DateTime(2015, 10, 10), oldestDateHistory); var otherDateHistory = new MovementDateHistory(AnyGuid, new DateTime(2015, 1, 3)); ObjectInstantiator <MovementDateHistory> .SetProperty(m => m.DateChanged, new DateTime(2015, 10, 11), otherDateHistory); A.CallTo(() => historyRepository.GetByMovementId(A <Guid> .Ignored)) .Returns(new[] { oldestDateHistory, otherDateHistory }); var dateService = new OriginalMovementDate(historyRepository); Assert.Equal(oldestDateHistory.PreviousDate, await dateService.Get(movement)); }