public JobRequestController(EmergencyRequestValidator emergencyRequestValidator, RegularRequestValidator requestValidator, EmergencyJobScheduler emergencyJobScheduler, JobScheduler jobScheduler) { _emergencyRequestValidator = emergencyRequestValidator; _requestValidator = requestValidator; _emergencyJobScheduler = emergencyJobScheduler; _jobScheduler = jobScheduler; }
public void Should_Schedule_Job_For_Requested_Date_If_Less_Than_4_Jobs_Scheduled_That_Date() { var request = new JobRequest {IsEmergency = false, RequestedByDate = DateTime.Now.AddDays(10), RequestedTask = GetKnownTaskId()}; var sut = new JobScheduler(); var result = sut.Schedule(request); result.ScheduledToStart.ShouldEqual(request.RequestedByDate); }
public void Should_Schedule_Job_For_Next_Available_Date_If_4_Jobs_Scheduled_On_Requested_Date() { var request = new JobRequest {IsEmergency = false, RequestedByDate = _dateWithTooManyScheduledJobs, RequestedTask = GetKnownTaskId()}; var sut = new JobScheduler(); var result = sut.Schedule(request); result.ScheduledToStart.ShouldEqual(request.RequestedByDate.AddDays(1)); result.Errors.Any(x => x.GetType() == typeof (RequestedDateFullError)).ShouldBeTrue(); }