fares & aircraft fares
This commit is contained in:
@@ -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');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,5 +44,4 @@ class Airlines extends Model
|
||||
'name' => 'required',
|
||||
];
|
||||
|
||||
|
||||
}
|
||||
|
||||
30
app/Services/AircraftFareService.php
Normal file
30
app/Services/AircraftFareService.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
|
||||
use App\Repositories\FareRepository;
|
||||
use App\Repositories\AircraftRepository;
|
||||
|
||||
|
||||
class AircraftFareService {
|
||||
|
||||
protected $aircraft, $fare;
|
||||
|
||||
/**
|
||||
* return a PIREP model
|
||||
* @param $aircraft AircraftRepository
|
||||
* @param $fare FareRepository
|
||||
*/
|
||||
public function __construct(AircraftRepository $aircraft, FareRepository $fare) {
|
||||
$this->fare = $fare;
|
||||
$this->aircraft = $aircraft;
|
||||
}
|
||||
|
||||
public function link(int $aircraft_id, int $fare_id) {
|
||||
|
||||
}
|
||||
|
||||
public function unlink(int $aircraft_id, int $fare_id) {
|
||||
|
||||
}
|
||||
}
|
||||
24
app/Services/PIREPService.php
Normal file
24
app/Services/PIREPService.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
|
||||
use App\Repositories\AircraftRepository;
|
||||
|
||||
|
||||
class PIREPService {
|
||||
|
||||
protected $aircraft;
|
||||
|
||||
/**
|
||||
* return a PIREP model
|
||||
*/
|
||||
public function __construct(
|
||||
AircraftRepository $aircraft
|
||||
) {
|
||||
$this->aircraft = $aircraft;
|
||||
}
|
||||
|
||||
public function create() {
|
||||
|
||||
}
|
||||
}
|
||||
7
database/factories/FaresFactory.php
Normal file
7
database/factories/FaresFactory.php
Normal file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
$factory->define(App\Models\Fare::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
|
||||
];
|
||||
});
|
||||
@@ -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']);
|
||||
|
||||
@@ -1,33 +1,40 @@
|
||||
<?php
|
||||
|
||||
use App\Models\Aircraft;
|
||||
use Illuminate\Foundation\Testing\WithoutMiddleware;
|
||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
||||
|
||||
|
||||
class AircraftTest extends TestCase
|
||||
{
|
||||
protected $aircraft,
|
||||
$aircraft_class;
|
||||
protected $aircraft, $aircraft_class;
|
||||
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
$this->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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user