diff --git a/app/Models/Aircraft.php b/app/Models/Aircraft.php index 3f91162c..5cf03d1a 100644 --- a/app/Models/Aircraft.php +++ b/app/Models/Aircraft.php @@ -62,4 +62,9 @@ class Aircraft extends Model 'aircraft_class_id' ); } + + public function fares() { + # aircraft_fare == table name + return $this->belongsToMany('App\Models\Fare', 'aircraft_fare'); + } } diff --git a/app/Models/Airlines.php b/app/Models/Airlines.php index 3d6d6f63..e2bdaff2 100644 --- a/app/Models/Airlines.php +++ b/app/Models/Airlines.php @@ -44,5 +44,4 @@ class Airlines extends Model 'name' => 'required', ]; - } diff --git a/app/Services/AircraftFareService.php b/app/Services/AircraftFareService.php new file mode 100644 index 00000000..aa1582fb --- /dev/null +++ b/app/Services/AircraftFareService.php @@ -0,0 +1,30 @@ +fare = $fare; + $this->aircraft = $aircraft; + } + + public function link(int $aircraft_id, int $fare_id) { + + } + + public function unlink(int $aircraft_id, int $fare_id) { + + } +} diff --git a/app/Services/PIREPService.php b/app/Services/PIREPService.php new file mode 100644 index 00000000..79fdef3a --- /dev/null +++ b/app/Services/PIREPService.php @@ -0,0 +1,24 @@ +aircraft = $aircraft; + } + + public function create() { + + } +} diff --git a/database/factories/FaresFactory.php b/database/factories/FaresFactory.php new file mode 100644 index 00000000..4ced6e91 --- /dev/null +++ b/database/factories/FaresFactory.php @@ -0,0 +1,7 @@ +define(App\Models\Fare::class, function (Faker\Generator $faker) { + return [ + + ]; +}); diff --git a/routes/web.php b/routes/web.php index 9d75bb12..6435a97b 100755 --- a/routes/web.php +++ b/routes/web.php @@ -34,3 +34,13 @@ Route::patch('admin/aircraftClasses/{aircraftClasses}', ['as'=> 'admin.aircraftC Route::delete('admin/aircraftClasses/{aircraftClasses}', ['as'=> 'admin.aircraftClasses.destroy', 'uses' => 'AircraftClassController@destroy']); Route::get('admin/aircraftClasses/{aircraftClasses}', ['as'=> 'admin.aircraftClasses.show', 'uses' => 'AircraftClassController@show']); Route::get('admin/aircraftClasses/{aircraftClasses}/edit', ['as'=> 'admin.aircraftClasses.edit', 'uses' => 'AircraftClassController@edit']); + + +Route::get('admin/fares', ['as'=> 'admin.fares.index', 'uses' => 'FareController@index']); +Route::post('admin/fares', ['as'=> 'admin.fares.store', 'uses' => 'FareController@store']); +Route::get('admin/fares/create', ['as'=> 'admin.fares.create', 'uses' => 'FareController@create']); +Route::put('admin/fares/{fares}', ['as'=> 'admin.fares.update', 'uses' => 'FareController@update']); +Route::patch('admin/fares/{fares}', ['as'=> 'admin.fares.update', 'uses' => 'FareController@update']); +Route::delete('admin/fares/{fares}', ['as'=> 'admin.fares.destroy', 'uses' => 'FareController@destroy']); +Route::get('admin/fares/{fares}', ['as'=> 'admin.fares.show', 'uses' => 'FareController@show']); +Route::get('admin/fares/{fares}/edit', ['as'=> 'admin.fares.edit', 'uses' => 'FareController@edit']); diff --git a/tests/AircraftTest.php b/tests/AircraftTest.php index c717db92..a1a9be28 100644 --- a/tests/AircraftTest.php +++ b/tests/AircraftTest.php @@ -1,33 +1,40 @@ aircraft = $this->createRepository('AircraftRepository'); $this->aircraft_class = $this->createRepository('AircraftClassRepository'); + + # add an aircraft_class + factory(App\Models\AircraftClass::class)->create(); + } + + protected function add_fares(Aircraft $aircraft) { + } public function testAircraftClasses() { - factory(App\Models\AircraftClass::class)->create(); + # add a few fare classes $this->aircraft->create([ 'aircraft_class_id' => 1, - 'icao' => 'B744', - 'name' => 'Boeing 747', + 'icao' => 'B777', + 'name' => 'Boeing 777', ]); - $aircraft = App\Models\Aircraft::where('icao', 'B744')->first(); - $this->assertEquals('B744', $aircraft->icao, 'ICAO matching'); + $aircraft = Aircraft::where('icao', 'B777')->first(); + $this->assertEquals('B777', $aircraft->icao, 'ICAO matching'); $this->assertEquals('H', $aircraft->class->code, 'Check belongsTo relationship'); + + // check to see if the fares are properly applied to this aircraft + $this->add_fares($aircraft); } }