public void Should_Accept_And_Schedule_A_Valid_Request() { var sender = new FakeMessageSender(); var regularRequestForFullDate = new JobRequest {IsEmergency = false, RequestedByDate = _dateWithTooManyScheduledJobs, RequestedTask = GetKnownTaskId()}; var sut = new JobRequestController(new EmergencyRequestValidator(), new RegularRequestValidator(), new EmergencyJobScheduler(sender), new JobScheduler()); var result = sut.Handle(regularRequestForFullDate); result.Accepted.ShouldBeTrue(); result.ScheduledToStart.ShouldEqual(regularRequestForFullDate.RequestedByDate.AddDays(1)); }
public void Should_Accept_And_Schedule_A_Valid_Emergency_Request() { var sender = new FakeMessageSender(); var emergencyRequest = new JobRequest {IsEmergency = true, RequestedByDate = DateTime.Now.AddDays(1), RequestedTask = GetKnownTaskId()}; var sut = new JobRequestController(new EmergencyRequestValidator(), new RegularRequestValidator(), new EmergencyJobScheduler(sender), new JobScheduler()); var result = sut.Handle(emergencyRequest); result.Accepted.ShouldBeTrue(); result.ScheduledToStart.ShouldEqual(emergencyRequest.RequestedByDate); }
public void Should_Reject_An_Invalid_Request() { var sender = new FakeMessageSender(); var unkownTaskRequst = new JobRequest {IsEmergency = false, RequestedByDate = DateTime.Now.AddDays(5), RequestedTask = 12345678}; var sut = new JobRequestController(new EmergencyRequestValidator(), new RegularRequestValidator(), new EmergencyJobScheduler(sender), new JobScheduler()); var result = sut.Handle(unkownTaskRequst); result.Accepted.ShouldBeFalse(); result.Errors.Any(x => x.GetType() == typeof (UnknownJobValidationError)).ShouldBeTrue(); }