예제 #1
0
        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();
        }
예제 #2
0
        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);
        }
예제 #3
0
        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));
        }