public void Handle(ProcessStarted @event) { string id = DailyActivity.GetIdFrom(@event.CreatedAt); DailyActivity activity = GetOrCreateActivityEntity(id); //execute change / update activity.AddProcess(@event.ProcessId, @event.CreatedAt); //save - persist? repository.Save(activity); }
public void AddingAProcessIncrementsActiveCounter() { string id = DailyActivity.GetIdFrom(DateTime.UtcNow); DailyActivity activity = new DailyActivity(id); Guid processId = Guid.NewGuid(); DateTime startedAt = DateTime.UtcNow; activity.AddProcess(processId, startedAt); Assert.AreEqual(1, activity.ActiveProcesses); Assert.AreEqual(1, activity.TotalProcessCount); Assert.AreEqual(0, activity.CompletionCount); Assert.AreEqual(0, activity.CompletedWithErrorCount); }
public void CompletingAnExistingProcessDecrementsActiveCounter_ErrorCountIsNotZero() { string id = DailyActivity.GetIdFrom(DateTime.UtcNow); DailyActivity activity = new DailyActivity(id); Guid processId = Guid.NewGuid(); DateTime startedAt = DateTime.UtcNow.AddSeconds(-10); activity.AddProcess(processId, startedAt); DateTime endedAt = DateTime.UtcNow; activity.EndProcess(processId, endedAt, true); Assert.AreEqual(0, activity.ActiveProcesses); Assert.AreEqual(1, activity.TotalProcessCount); Assert.AreEqual(1, activity.CompletionCount); Assert.AreEqual(1, activity.CompletedWithErrorCount); }