Skip to content
Snippets Groups Projects
Commit 32b71e18 authored by Jonathan Foucher's avatar Jonathan Foucher
Browse files

Fix migrations

parent 124adc0d
No related branches found
No related tags found
No related merge requests found
...@@ -9,24 +9,24 @@ ...@@ -9,24 +9,24 @@
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
/** /**
* @property int $id * @property int $id
* @property string $name * @property string $name
* @property string $short_name * @property string $short_name
* @property string $type * @property string $type
* @property string $siren * @property string $siren
* @property bool $active * @property bool $active
* @property string $website * @property string $website
* @property string $info * @property string $info
* @property string $address * @property Address $address
* @property string $referent * @property Contact $referent
* @property string $referent_id * @property int $referent_id
* @property string $referent_cyber * @property Contact $referent_cyber
* @property string $referentCyber * @property Contact $referentCyber
* @property string $referent_cyber_id * @property int $referent_cyber_id
* @property string $referent_elu * @property Contact $referent_elu
* @property string $referentElu * @property Contact $referentElu
* @property string $referent_elu_id * @property int $referent_elu_id
* @property string $evaluations * @property [Evaluation]|iterable $evaluations
*/ */
class Organization extends Model class Organization extends Model
{ {
......
...@@ -17,10 +17,11 @@ class EvaluationFactory extends Factory ...@@ -17,10 +17,11 @@ class EvaluationFactory extends Factory
public function definition() public function definition()
{ {
return [ return [
'status' => $this->faker->numberBetween(1,3), 'status' => $this->faker->numberBetween(1, 3),
'current_step' => $this->faker->numberBetween(1,5), 'current_step' => $this->faker->numberBetween(1, 5),
'current_step_status' => $this->faker->numberBetween(1,3), 'current_step_status' => $this->faker->numberBetween(1, 3),
'updated_by' => $this->faker->name(), 'updated_by' => $this->faker->name(),
'author' => $this->faker->name(),
]; ];
} }
} }
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
namespace Database\Factories; namespace Database\Factories;
use App\Models\Measure;
use App\Models\User; use App\Models\User;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Database\Eloquent\Factories\Factory;
...@@ -19,12 +18,13 @@ class EvaluationMeasureFactory extends Factory ...@@ -19,12 +18,13 @@ class EvaluationMeasureFactory extends Factory
*/ */
public function definition() public function definition()
{ {
$level = $this->faker->numberBetween(0,4); $level = $this->faker->numberBetween(0, 4);
$expected_level = min(4, $level + $this->faker->numberBetween(0,2)); $expected_level = min(4, $level + $this->faker->numberBetween(0, 2));
return [ return [
'expected_level' => $expected_level, 'expected_level' => $expected_level,
'actual_level' => $level, 'actual_level' => $level,
'end_date' => Carbon::now()->addDays($this->faker->numberBetween(0,365)), 'end_date' => Carbon::now()->addDays($this->faker->numberBetween(0, 365)),
'manager_id' => User::where('role', User::ROLE_MANAGER)->inRandomOrder()->first()->id, 'manager_id' => User::where('role', User::ROLE_MANAGER)->inRandomOrder()->first()->id,
]; ];
} }
......
...@@ -16,7 +16,13 @@ class DangerSeeder extends Seeder ...@@ -16,7 +16,13 @@ class DangerSeeder extends Seeder
public function run() public function run()
{ {
Danger::factory(10)->create()->each(function (Danger $danger) { Danger::factory(10)->create()->each(function (Danger $danger) {
$danger->levels()->saveMany(DangerLevel::factory(4)->make()); $levels = [
DangerLevel::factory()->make(['name' => 'Critique']),
DangerLevel::factory()->make(['name' => 'Négligeable']),
DangerLevel::factory()->make(['name' => 'Important']),
DangerLevel::factory()->make(['name' => 'Limité']),
];
$danger->levels()->saveMany($levels);
}); });
} }
} }
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
namespace Database\Seeders; namespace Database\Seeders;
use App\Models\Danger;
use App\Models\Evaluation; use App\Models\Evaluation;
use App\Models\EvaluationMeasure; use App\Models\EvaluationMeasure;
use App\Models\Measure; use App\Models\Measure;
...@@ -20,13 +21,27 @@ public function run() ...@@ -20,13 +21,27 @@ public function run()
{ {
Organization::factory(10)->create()->each(function (Organization $org) { Organization::factory(10)->create()->each(function (Organization $org) {
$org->users()->saveMany(User::factory(8)->make()); $org->users()->saveMany(User::factory(8)->make());
$org->evaluations()->saveMany(Evaluation::factory(8)->make()->each(function(Evaluation $eval) { $org->evaluations()->saveMany(Evaluation::factory(8)->make());
$measures = Measure::all();
$evalMeasures = $measures->map(function (Measure $m) { foreach ($org->evaluations as $eval) {
return EvaluationMeasure::factory()->make(['measure_id' => $m->id]); if ($eval->current_step > 1) {
}); $dangers = Danger::all();
$eval->evaluationMeasures()->saveMany($evalMeasures);
})); $dangerLevels = $dangers->map(function (Danger $danger) {
return $danger->levels()->inRandomOrder()->first();
});
$eval->dangerLevels()->saveMany($dangerLevels);
}
if ($eval->current_step > 2) {
$measures = Measure::all();
$evalMeasures = $measures->map(function (Measure $m) {
return EvaluationMeasure::factory()->make(['measure_id' => $m->id]);
});
$eval->evaluationMeasures()->saveMany($evalMeasures);
}
}
}); });
} }
} }
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