public async Task InAndOut9() { var theDay = new DateTime(2020, 04, 21); ctx.TimeBookings.RemoveRange(); await ctx.SaveChangesAsync(); ctx.TimeBookings.Add(new TimeBooking { BookingTime = theDay.AddHours(6).AddMinutes(3), }); ctx.TimeBookings.Add(new TimeBooking { BookingTime = theDay.AddHours(15).AddMinutes(3) }); await ctx.SaveChangesAsync(); var timeProvider = new FakeDateTimeProvider(theDay); var tbs = new TimeBookingsService(tbsLogger, ctx); var sut = new ActualWorkTimeService(tbs, timeProvider); var(inTime, outTime, workTime, pauseTime) = await sut.LoadDataAsync(theDay); inTime.Hour.Should().Be(6); inTime.Minute.Should().Be(3); workTime.Should().Be(TimeSpan.FromMinutes(540)); pauseTime.Should().Be(TimeSpan.Zero); outTime.Hour.Should().Be(15); outTime.Minute.Should().Be(3); }
private (ActualWorkTimeService awt, TargetWorkTimeService twt) prepare(DateTime theDay) { var timeProvider = new FakeDateTimeProvider(theDay); var fs = new FeiertagService(timeProvider); var cs = new CoronaService(config, fs); var tbs = new TimeBookingsService(tbslogger, ctx); var awt = new ActualWorkTimeService(tbs, timeProvider); var twt = new TargetWorkTimeService(config, cs); return(awt, twt); }