public async Task schedule_execution() { var list = new List <Envelope>(); for (var i = 0; i < 10; i++) { var envelope = ObjectMother.Envelope(); envelope.Status = TransportConstants.Incoming; list.Add(envelope); } await ThePersistence.StoreIncoming(list.ToArray()); list[5].ExecutionTime = DateTimeOffset.Now.AddMinutes(5); list[7].ExecutionTime = DateTimeOffset.Now.AddMinutes(5); list[9].ExecutionTime = DateTimeOffset.Now.AddMinutes(5); await ThePersistence.ScheduleExecution(new[] { list[5], list[7], list[9] }); var stored = ThePersistence.AllIncomingEnvelopes(); stored.Count(x => x.Status == TransportConstants.Incoming).ShouldBe(7); stored.Count(x => x.Status == TransportConstants.Scheduled).ShouldBe(3); stored.Single(x => x.Id == list[5].Id).ExecutionTime.HasValue.ShouldBeTrue(); stored.Single(x => x.Id == list[7].Id).ExecutionTime.HasValue.ShouldBeTrue(); stored.Single(x => x.Id == list[9].Id).ExecutionTime.HasValue.ShouldBeTrue(); }