/** * @testdox A JobList has a list of attached Jobs. */ public function jobs() { $type = new \App\Model\JobType(); $type->save(); $jobList = new JobList(); $jobList->type_id = $type->id; $jobList->save(); // One incomplete job. $job = new Job(); $job->job_list_id = $jobList->id; $job->save(); $this->assertEquals(1, $jobList->jobs->count()); $this->assertEquals(0, $jobList->percentComplete()); $this->assertEquals(100, $jobList->percentIncomplete()); // Two incomplete jobs. $job2 = new Job(); $job2->job_list_id = $jobList->id; $job2->save(); $jobList->load('jobs'); $this->assertEquals(2, $jobList->jobs->count()); $this->assertEquals(0, $jobList->percentComplete()); $this->assertEquals(100, $jobList->percentIncomplete()); // Complete one of them. $job->date_resolved = '2015-09-09'; $job->save(); $this->assertEquals(50, $jobList->percentIncomplete()); }
/** * @testdox A Job can be marked as complete with no date or any other metadata supplied. * @test */ public function manualCompletion() { $type = new \App\Model\JobType(); $type->save(); $jobList = new JobList(); $jobList->type_id = $type->id; $jobList->save(); // One incomplete job $job = new Job(); $job->job_list_id = $jobList->id; $job->save(); $this->assertEquals('Incomplete', $job->status()); //$job->resolution }
public function saveNew(Request $request) { DB::beginTransaction(); $jobList = new JobList(); $jobList->name = $request->input('name'); $jobList->type_id = $request->input('type_id'); $jobList->start_date = $request->input('start_date'); $jobList->due_date = $request->input('due_date'); $jobList->crew_id = $request->input('crew_id'); $jobList->comments = $request->input('comments'); $jobList->save(); $jobList->addTags($request->input('tags')); // Then save all assets. $assets = $this->getAssets($request); foreach ($assets as $asset) { $job = new Job(); $job->job_list_id = $jobList->id; $job->asset_id = $asset->id; $job->date_added = date('Y-m-d'); $job->save(); } DB::commit(); return redirect('job-lists/' . $jobList->id); }