public void GetAJobWithNoNextActionAndWorkQueue() { var controller = new JobController(); var result = controller.GetJob(JobMocks.ReturnPollutionIncidentCompleted().Id, "12"); var okObjectResult = result.Should().BeOfType <OkObjectResult>().Subject; var response = okObjectResult.Value.Should().BeAssignableTo <Halcyon.HAL.HALResponse>().Subject; response.HasLink("next_action").Should().BeFalse(); response.HasLink("work_queue").Should().BeTrue(); }
public static WorkQueue GetWorkQueue() { var queue = new WorkQueue { NextJob = JobMocks.ReturnPriority1BlockageInvestigationNotStartedWorkQueue() }; var jobs = new List <Job> { JobMocks.ReturnPriority2SewerCleaningNotStartedWorkQueue(), JobMocks.ReturnPriority4BlockageInvestigationNotStartedWorkQueue(), JobMocks.ReturnPriority3BlockageInvestigationNotStartedWorkQueue(), JobMocks.ReturnPollutionIncidentCompleted() }; queue.Queue = jobs.OrderBy(j => j.TimeCompleted).ThenBy(j => j.Priority).ToList(); return(queue); }
public IActionResult GetJob(string jobNumber, string status) { var links = new List <Link>(); var job = JobMocks.ReturnPriority1BlockageInvestigationNotStartedJob(); if (status == null) { links.Add(new Link("next_action", "/jobs/" + job.Id + "/call_customer", "Call Customer", WebRequestMethods.Http.Put)); } if (status != null && status.Equals("1")) { job = JobMocks.ReturnPriority1BlockageInvestigationNotStartedJob(); links.Add(new Link("next_action", "/jobs/" + job.Id + "/call_customer", "Call Customer", WebRequestMethods.Http.Put)); } if (status != null && status.Equals("2")) { job = JobMocks.ReturnPriority1BlockageInvestigationCustomerCalledJob(); links.Add(new Link("next_action", "/jobs/" + job.Id + "/start_travel", "Start Travel", WebRequestMethods.Http.Put)); } if (status != null && status.Equals("3")) { job = JobMocks.ReturnPriority1BlockageInvestigationCustomerCalledJob(); links.Add(new Link("next_action", "/jobs/" + job.Id + "/arrived", "Arrived", WebRequestMethods.Http.Put)); } if (status != null && status.Equals("4")) { job = JobMocks.ReturnPriority1BlockageInvestigationCustomerCalledJob(); links.Add(new Link("next_action", "/jobs/" + job.Id + "/arrived", "Arrived", WebRequestMethods.Http.Put)); } links.Add(new Link("self", $"/jobs/{job.Id}")); links.Add(new Link("work_queue", "/jobs")); var response = new HALResponse(job).AddLinks(links); return(Ok(response)); }