function testSetLabelToTask() { $label = factory(\App\ProjectLabel::class)->make(['name' => "foo"]); $this->project->labels()->save($label); $this->task->label()->associate($label)->save(); $this->assertEquals('foo', $this->task->label->name); $this->assertEquals(2, $this->task->activity->count()); $this->assertEquals($label->id, $this->task->activity->get(1)->note); }
/** * Update the specified task * * @param Request $request * @param Project $project * @param Task $task * @return Task */ public function update(Request $request, Project $project, Task $task) { if (empty($user_id = $request->input('user_id'))) { $task->assignee()->dissociate(); } else { $user = \App\User::findOrFail($user_id); $task->assignee()->associate($user); } if (empty($label_id = $request->input('label_id'))) { $task->label()->dissociate(); } else { $label = \App\ProjectLabel::findOrFail($label_id); $task->label()->associate($label); } $task->update($request->all()); return $this->show($project, $task); }