Skip to content
Snippets Groups Projects
Commit 19063d42 authored by sebastien dupuy's avatar sebastien dupuy
Browse files

Fonction save des mesures + tests unitaires mesures ok

parent e47949ca
No related branches found
No related tags found
No related merge requests found
Pipeline #28275 failed
......@@ -42,29 +42,40 @@ public function save(MeasureRequest $request, $id = null)
$measure->name = $data['name'];
$measure->short_name = $data['short_name'];
for ($i = 1; $i < 4; ++$i) {
$actual_label = 'level' . $i . '_actual_label';
$measure->actual_label = $data[$actual_label];
$preconized_label = 'level' . $i . '_preconized_label';
$measure->preconized_label = $data[$preconized_label];
$file = 'level' . $i . '_file';
$measure->file = $data[$file];
$description = 'level' . $i . '_description';
$measure->description = $data[$description] ?? null;
$difficulty = 'level' . $i . '_difficulty';
$measure->difficulty = $data[$difficulty] ?? null;
$cost = 'level' . $i . '_cost';
$measure->cost = $data[$cost] ?? null;
$duration = 'level' . $i . '_duration';
$measure->duration = $data[$duration] ?? null;
$assistance = 'level' . $i . '_assistance';
$measure->assistance = $data[$assistance] ?? null;
$info = 'level' . $i . '_info';
$measure->info = $data[$info] ?? null;
}
$measure->level1_actual_label = $data['level1_actual_label'];
$measure->level1_preconized_label = $data['level1_preconized_label'];
$measure->level1_file = $data['level1_file']?? null;
$measure->level1_description = $data['level1_description'] ?? null;
$measure->level1_difficulty = $data['level1_difficulty'];
$measure->level1_cost = $data['level1_cost'];
$measure->level1_duration = $data['level1_duration'];
$measure->level1_assistance = $data['level1_assistance'];
$measure->level1_info = $data['level1_info'] ?? null;
$measure->level2_actual_label = $data['level2_actual_label'];
$measure->level2_preconized_label = $data['level2_preconized_label'];
$measure->level2_file = $data['level2_file']?? null;
$measure->level2_description = $data['level2_description'] ?? null;
$measure->level2_difficulty = $data['level2_difficulty'];
$measure->level2_cost = $data['level2_cost'];
$measure->level2_duration = $data['level2_duration'];
$measure->level2_assistance = $data['level2_assistance'];
$measure->level2_info = $data['level2_info'] ?? null;
$measure->level3_actual_label = $data['level3_actual_label'];
$measure->level3_preconized_label = $data['level3_preconized_label'];
$measure->level3_file = $data['level3_file']?? null;
$measure->level3_description = $data['level3_description'] ?? null;
$measure->level3_difficulty = $data['level3_difficulty'] ;
$measure->level3_cost = $data['level3_cost'];
$measure->level3_duration = $data['level3_duration'] ;
$measure->level3_assistance = $data['level3_assistance'] ;
$measure->level3_info = $data['level3_info'] ?? null;
$measure->save();
abort(204);
return $measure;
}
abort(403);
......
......@@ -28,7 +28,7 @@ public function rules()
'short_name' => 'string|required|max:255',
'level1_actual_label' => 'string|required|max:255',
'level1_preconized_label' => 'string|required|max:255',
'level1_file' => 'string|required|max:255',
'level1_file' => 'string|max:255|nullable',
'level1_description' => 'string|nullable',
'level1_difficulty' => 'int',
'level1_cost' => 'int',
......@@ -37,7 +37,7 @@ public function rules()
'level1_info' => 'string|nullable',
'level2_actual_label' => 'string|required|max:255',
'level2_preconized_label' => 'string|required|max:255',
'level2_file' => 'string|required|max:255',
'level2_file' => 'string|max:255|nullable',
'level2_description' => 'string|nullable',
'level2_difficulty' => 'int',
'level2_cost' => 'int',
......@@ -46,7 +46,7 @@ public function rules()
'level2_info' => 'string|nullable',
'level3_actual_label' => 'string|required|max:255',
'level3_preconized_label' => 'string|required|max:255',
'level3_file' => 'string|required|max:255',
'level3_file' => 'string|max:255|nullable',
'level3_description' => 'string|nullable',
'level3_difficulty' => 'int',
'level3_cost' => 'int',
......
......@@ -65,26 +65,53 @@ public function testAdminCanUpdateMeasure()
$m = Measure::first()->toArray();
$response = $this->actingAs($user)->putJson(route('api.measures.put', ['id' => $m['id'],
$m['name'] = 'NAME',
$m['short_name'] = 'SHORT_NAME',
$m['efficiency'] = 'EFFICIENCY',
$m['level1_title'] = 'LEVEL 1 TITLE',
$m['level2_title'] = 'LEVEL 2 TITLE',
$m['level3_title'] = 'LEVEL 3 TITLE', ]));
'name' => 'NAME',
'short_name' => 'SHORT_NAME',
'level1_actual_label' => 'LEVEL 1 ACTUAL LABEL',
'level1_preconized_label' => 'LEVEL 1 PRECONIZED LABEL',
'level1_description' => 1,
'level1_difficulty' => 2,
'level1_cost' => 3,
'level1_duration' => 4,
'level1_assistance' => 5,
'level2_actual_label' => 'LEVEL 2 ACTUAL LABEL',
'level2_preconized_label' => 'LEVEL 2 PRECONIZED LABEL',
'level2_description' => 1,
'level2_difficulty' => 2,
'level2_cost' => 3,
'level2_duration' => 4,
'level2_assistance' => 5,
'level3_actual_label' => 'LEVEL 3 ACTUAL LABEL',
'level3_preconized_label' => 'LEVEL 3 PRECONIZED LABEL',
'level3_description' => 1,
'level3_difficulty' => 2,
'level3_cost' => 3,
'level3_duration' => 4,
'level3_assistance' => 5]
));
if ($response->exception) {
dump($response->exception);
}
$response->assertOk();
$data = $response->json();
$m = Measure::find($m['id']);
$this->assertEquals($m->toArray(), $data);
$this->assertEquals('LEVEL 1 TITLE', $data['level1_title']);
$this->assertEquals('LEVEL 1 TITLE', $m->level1_title);
$this->assertEquals('LEVEL 1 ACTUAL LABEL', $data['level1_actual_label']);
$this->assertEquals('LEVEL 1 ACTUAL LABEL', $m->level1_actual_label);
$this->assertEquals('LEVEL 2 ACTUAL LABEL', $data['level2_actual_label']);
$this->assertEquals('LEVEL 2 ACTUAL LABEL', $m->level2_actual_label);
$this->assertEquals('LEVEL 3 ACTUAL LABEL', $data['level3_actual_label']);
$this->assertEquals('LEVEL 3 ACTUAL LABEL', $m->level3_actual_label);
$this->assertEquals('LEVEL 1 PRECONIZED LABEL', $data['level1_preconized_label']);
$this->assertEquals('LEVEL 1 PRECONIZED LABEL', $m->level1_preconized_label);
$this->assertEquals('LEVEL 2 PRECONIZED LABEL', $data['level2_preconized_label']);
$this->assertEquals('LEVEL 2 PRECONIZED LABEL', $m->level2_preconized_label);
$this->assertEquals('LEVEL 3 PRECONIZED LABEL', $data['level3_preconized_label']);
$this->assertEquals('LEVEL 3 PRECONIZED LABEL', $m->level3_preconized_label);
}
/*
......@@ -95,17 +122,35 @@ public function testAdminCanUpdateMeasure()
public function testNonAdminCannotUpdateMeasure()
{
$user = User::where('role', User::ROLE_MANAGER)->first();
$user = User::where('role', '>' , User::ROLE_MANAGER)->first();
$m = Measure::first()->toArray();
$response = $this->actingAs($user)->putJson(route('api.measures.put', ['id' => $m['id'],
$m['name'] = 'NAME',
$m['short_name'] = 'SHORT_NAME',
$m['efficiency'] = 'EFFICIENCY',
$m['level1_title'] = 'LEVEL 1 TITLE',
$m['level2_title'] = 'LEVEL 2 TITLE',
$m['level3_title'] = 'LEVEL 3 TITLE', ]));
'name' => 'NAME',
'short_name' => 'SHORT_NAME',
'level1_actual_label' => 'LEVEL 1 ACTUAL LABEL',
'level1_preconized_label' => 'LEVEL 1 PRECONIZED LABEL',
'level1_description' => 1,
'level1_difficulty' => 2,
'level1_cost' => 3,
'level1_duration' => 4,
'level1_assistance' => 5,
'level2_actual_label' => 'LEVEL 2 ACTUAL LABEL',
'level2_preconized_label' => 'LEVEL 2 PRECONIZED LABEL',
'level2_description' => 1,
'level2_difficulty' => 2,
'level2_cost' => 3,
'level2_duration' => 4,
'level2_assistance' => 5,
'level3_actual_label' => 'LEVEL 3 ACTUAL LABEL',
'level3_preconized_label' => 'LEVEL 3 PRECONIZED LABEL',
'level3_description' => 1,
'level3_difficulty' => 2,
'level3_cost' => 3,
'level3_duration' => 4,
'level3_assistance' => 5]
));
$response->assertStatus(403);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment