Laravel 9 Update (#1413)
Update to Laravel 9 and PHP 8+ Co-authored-by: B.Fatih KOZ <fatih.koz@gmail.com>
This commit is contained in:
@@ -1,69 +1,74 @@
|
||||
<?php
|
||||
|
||||
/** @noinspection PhpIllegalPsrClassPathInspection */
|
||||
|
||||
namespace App\Database\Factories;
|
||||
|
||||
use App\Contracts\Factory;
|
||||
use App\Models\Airline;
|
||||
use App\Models\Enums\PirepSource;
|
||||
use App\Models\Enums\PirepState;
|
||||
use App\Models\Enums\PirepStatus;
|
||||
use App\Models\Flight;
|
||||
use App\Models\Pirep;
|
||||
use Carbon\Carbon;
|
||||
use Faker\Generator as Faker;
|
||||
|
||||
/*
|
||||
* Create a new PIREP
|
||||
*/
|
||||
$factory->define(App\Models\Pirep::class, function (Faker $faker) {
|
||||
$airline = factory(\App\Models\Airline::class)->create();
|
||||
$flight = factory(\App\Models\Flight::class)->create([
|
||||
'airline_id' => $airline->id,
|
||||
]);
|
||||
class PirepFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* The name of the factory's corresponding model.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $model = Pirep::class;
|
||||
|
||||
return [
|
||||
'id' => $faker->unique()->numberBetween(10, 10000000),
|
||||
'airline_id' => function () use ($airline) {
|
||||
return $airline->id;
|
||||
},
|
||||
'user_id' => function () {
|
||||
return factory(\App\Models\User::class)->create()->id;
|
||||
},
|
||||
'aircraft_id' => function () {
|
||||
return factory(\App\Models\Aircraft::class)->create()->id;
|
||||
},
|
||||
'flight_id' => function () use ($flight) {
|
||||
return $flight->id;
|
||||
},
|
||||
'flight_number' => function () use ($flight) {
|
||||
return $flight->flight_number;
|
||||
},
|
||||
'route_code' => null,
|
||||
'route_leg' => null,
|
||||
'dpt_airport_id' => function () use ($flight) {
|
||||
return $flight->dpt_airport_id;
|
||||
},
|
||||
'arr_airport_id' => function () use ($flight) {
|
||||
return $flight->arr_airport_id;
|
||||
},
|
||||
'level' => $faker->numberBetween(20, 400),
|
||||
'distance' => $faker->randomFloat(2, 0, 6000),
|
||||
'planned_distance' => $faker->randomFloat(2, 0, 6000),
|
||||
'flight_time' => $faker->numberBetween(60, 360),
|
||||
'planned_flight_time' => $faker->numberBetween(60, 360),
|
||||
'zfw' => $faker->randomFloat(2),
|
||||
'block_fuel' => $faker->randomFloat(2, 0, 1000),
|
||||
'fuel_used' => function (array $pirep) {
|
||||
return round($pirep['block_fuel'] * .9, 2); // 90% of the fuel loaded was used
|
||||
},
|
||||
'block_on_time' => Carbon::now('UTC'),
|
||||
'block_off_time' => function (array $pirep) {
|
||||
return $pirep['block_on_time']->subMinutes($pirep['flight_time']);
|
||||
},
|
||||
'route' => $faker->text(200),
|
||||
'notes' => $faker->text(200),
|
||||
'source' => $faker->randomElement([PirepSource::MANUAL, PirepSource::ACARS]),
|
||||
'source_name' => 'TestFactory',
|
||||
'state' => PirepState::PENDING,
|
||||
'status' => PirepStatus::SCHEDULED,
|
||||
'submitted_at' => Carbon::now('UTC')->toDateTimeString(),
|
||||
'created_at' => Carbon::now('UTC')->toDateTimeString(),
|
||||
'updated_at' => function (array $pirep) {
|
||||
return $pirep['created_at'];
|
||||
},
|
||||
];
|
||||
});
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
/** @var Airline $airline */
|
||||
$airline = Airline::factory()->create();
|
||||
|
||||
/** @var Flight $flight */
|
||||
$flight = Flight::factory()->create(['airline_id' => $airline->id]);
|
||||
|
||||
return [
|
||||
'id' => $this->faker->unique()->numberBetween(10, 10000000),
|
||||
'airline_id' => fn () => $airline->id,
|
||||
'user_id' => fn () => \App\Models\User::factory()->create()->id,
|
||||
'aircraft_id' => fn () => \App\Models\Aircraft::factory()->create()->id,
|
||||
'flight_id' => fn () => $flight->id,
|
||||
'flight_number' => fn () => $flight->flight_number,
|
||||
'route_code' => null,
|
||||
'route_leg' => null,
|
||||
'dpt_airport_id' => fn () => $flight->dpt_airport_id,
|
||||
'arr_airport_id' => fn () => $flight->arr_airport_id,
|
||||
'level' => $this->faker->numberBetween(20, 400),
|
||||
'distance' => $this->faker->randomFloat(2, 0, 6000),
|
||||
'planned_distance' => $this->faker->randomFloat(2, 0, 6000),
|
||||
'flight_time' => $this->faker->numberBetween(60, 360),
|
||||
'planned_flight_time' => $this->faker->numberBetween(60, 360),
|
||||
'zfw' => $this->faker->randomFloat(2),
|
||||
'block_fuel' => $this->faker->randomFloat(2, 0, 1000),
|
||||
'fuel_used' => fn (array $pirep) => round($pirep['block_fuel'] * .9, 2),
|
||||
'block_on_time' => Carbon::now('UTC'),
|
||||
'block_off_time' => fn (array $pirep) => $pirep['block_on_time']->subMinutes(
|
||||
$pirep['flight_time']
|
||||
),
|
||||
'route' => $this->faker->text(200),
|
||||
'notes' => $this->faker->text(200),
|
||||
'source' => $this->faker->randomElement(
|
||||
[PirepSource::MANUAL, PirepSource::ACARS]
|
||||
),
|
||||
'source_name' => 'TestFactory',
|
||||
'state' => PirepState::PENDING,
|
||||
'status' => PirepStatus::SCHEDULED,
|
||||
'submitted_at' => Carbon::now('UTC')->toDateTimeString(),
|
||||
'created_at' => Carbon::now('UTC')->toDateTimeString(),
|
||||
'updated_at' => fn (array $pirep) => $pirep['created_at'],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user