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:
@@ -82,11 +82,11 @@ class AcarsTest extends TestCase
|
||||
*/
|
||||
public function testPrefileErrors()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
$airport = factory(Airport::class)->create();
|
||||
$airline = factory(Airline::class)->create();
|
||||
$aircraft = factory(Aircraft::class)->create();
|
||||
$airport = Airport::factory()->create();
|
||||
$airline = Airline::factory()->create();
|
||||
$aircraft = Aircraft::factory()->create();
|
||||
|
||||
/**
|
||||
* INVALID AIRLINE_ID FIELD
|
||||
@@ -113,19 +113,19 @@ class AcarsTest extends TestCase
|
||||
$this->settingsRepo->store('pireps.restrict_aircraft_to_rank', false);
|
||||
$this->settingsRepo->store('pireps.only_aircraft_at_dpt_airport', true);
|
||||
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
/** @var Airport $airport */
|
||||
$airport = factory(Airport::class)->create();
|
||||
$airport = Airport::factory()->create();
|
||||
|
||||
/** @var Airport $airport */
|
||||
$aircraft_airport = factory(Airport::class)->create();
|
||||
$aircraft_airport = Airport::factory()->create();
|
||||
|
||||
/** @var Airline $airline */
|
||||
$airline = factory(Airline::class)->create();
|
||||
$airline = Airline::factory()->create();
|
||||
|
||||
/** @var Aircraft $aircraft */
|
||||
$aircraft = factory(Aircraft::class)->create(['airport_id' => $aircraft_airport->id]);
|
||||
$aircraft = Aircraft::factory()->create(['airport_id' => $aircraft_airport->id]);
|
||||
|
||||
/**
|
||||
* INVALID AIRLINE_ID FIELD
|
||||
@@ -153,10 +153,10 @@ class AcarsTest extends TestCase
|
||||
|
||||
public function testBlankAirport()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
$airline = factory(Airline::class)->create();
|
||||
$aircraft = factory(Aircraft::class)->create();
|
||||
$airline = Airline::factory()->create();
|
||||
$aircraft = Aircraft::factory()->create();
|
||||
|
||||
/**
|
||||
* INVALID AIRLINE_ID FIELD
|
||||
@@ -191,13 +191,13 @@ class AcarsTest extends TestCase
|
||||
$this->settingsRepo->store('pilots.only_flights_from_current', true);
|
||||
$this->settingsRepo->store('pireps.restrict_aircraft_to_rank', false);
|
||||
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'curr_airport_id' => 'KJFK',
|
||||
]);
|
||||
|
||||
$airport = factory(Airport::class)->create();
|
||||
$airline = factory(Airline::class)->create();
|
||||
$aircraft = factory(Aircraft::class)->create();
|
||||
$airport = Airport::factory()->create();
|
||||
$airline = Airline::factory()->create();
|
||||
$aircraft = Aircraft::factory()->create();
|
||||
|
||||
/**
|
||||
* INVALID AIRLINE_ID FIELD
|
||||
@@ -231,18 +231,18 @@ class AcarsTest extends TestCase
|
||||
$this->settingsRepo->store('pireps.restrict_aircraft_to_rank', false);
|
||||
|
||||
/** @var User user */
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'curr_airport_id' => 'KJFK',
|
||||
]);
|
||||
|
||||
/** @var Airport $airport */
|
||||
$airport = factory(Airport::class)->create();
|
||||
$airport = Airport::factory()->create();
|
||||
|
||||
/** @var Airline $airline */
|
||||
$airline = factory(Airline::class)->create();
|
||||
$airline = Airline::factory()->create();
|
||||
|
||||
/** @var Aircraft $aircraft */
|
||||
$aircraft = factory(Aircraft::class)->create([
|
||||
$aircraft = Aircraft::factory()->create([
|
||||
'airport_id' => 'KAUS',
|
||||
]);
|
||||
|
||||
@@ -275,16 +275,23 @@ class AcarsTest extends TestCase
|
||||
{
|
||||
$subfleet = $this->createSubfleetWithAircraft(2);
|
||||
$rank = $this->createRank(10, [$subfleet['subfleet']->id]);
|
||||
$fare = factory(Fare::class)->create();
|
||||
|
||||
$this->user = factory(User::class)->create(
|
||||
/** @var Fare $fare */
|
||||
$fare = Fare::factory()->create();
|
||||
|
||||
$this->user = User::factory()->create(
|
||||
[
|
||||
'rank_id' => $rank->id,
|
||||
]
|
||||
);
|
||||
|
||||
$airport = factory(Airport::class)->create();
|
||||
$airline = factory(Airline::class)->create();
|
||||
/** @var Airport $airport */
|
||||
$airport = Airport::factory()->create();
|
||||
|
||||
/** @var Airline $airline */
|
||||
$airline = Airline::factory()->create();
|
||||
|
||||
/** @var Aircraft $aircraft */
|
||||
$aircraft = $subfleet['aircraft']->random();
|
||||
|
||||
$uri = '/api/pireps/prefile';
|
||||
@@ -314,6 +321,14 @@ class AcarsTest extends TestCase
|
||||
$response->assertStatus(200);
|
||||
$pirep = $response->json('data');
|
||||
|
||||
$this->assertEquals(400, $pirep['planned_distance']['nmi']);
|
||||
$this->assertEquals(460.31, $pirep['planned_distance']['mi']);
|
||||
$this->assertEquals(740.8, $pirep['planned_distance']['km']);
|
||||
$this->assertEquals(740800, $pirep['planned_distance']['m']);
|
||||
|
||||
// Are date times in UTC?
|
||||
$this->assertTrue(str_ends_with($pirep['submitted_at'], 'Z'));
|
||||
|
||||
// See that the fields and fares were set
|
||||
$fares = PirepFare::where('pirep_id', $pirep['id'])->get();
|
||||
$this->assertCount(1, $fares);
|
||||
@@ -375,12 +390,12 @@ class AcarsTest extends TestCase
|
||||
$subfleet = $this->createSubfleetWithAircraft(2);
|
||||
$rank = $this->createRank(10, [$subfleet['subfleet']->id]);
|
||||
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
$airport = factory(Airport::class)->create();
|
||||
$airline = factory(Airline::class)->create();
|
||||
$airport = Airport::factory()->create();
|
||||
$airline = Airline::factory()->create();
|
||||
$aircraft = $subfleet['aircraft']->random();
|
||||
|
||||
$uri = '/api/pireps/prefile';
|
||||
@@ -427,15 +442,15 @@ class AcarsTest extends TestCase
|
||||
$rank = $this->createRank(10, [$subfleet['subfleet']->id]);
|
||||
|
||||
/** @var User user */
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
/** @var Airport $airport */
|
||||
$airport = factory(Airport::class)->create();
|
||||
$airport = Airport::factory()->create();
|
||||
|
||||
/** @var Airline $airline */
|
||||
$airline = factory(Airline::class)->create();
|
||||
$airline = Airline::factory()->create();
|
||||
|
||||
/** @var Aircraft $aircraft */
|
||||
$aircraft = $subfleet['aircraft']->random();
|
||||
@@ -510,8 +525,7 @@ class AcarsTest extends TestCase
|
||||
$response->assertStatus(400);
|
||||
|
||||
// Post an ACARS update
|
||||
$acars = factory(Acars::class)->make(['pirep_id' => $pirep_id])->toArray();
|
||||
|
||||
$acars = Acars::factory()->make(['pirep_id' => $pirep_id])->toArray();
|
||||
$acars = $this->transformData($acars);
|
||||
|
||||
$update = ['positions' => [$acars]];
|
||||
@@ -519,7 +533,8 @@ class AcarsTest extends TestCase
|
||||
$response->assertStatus(200)->assertJson(['count' => 1]);
|
||||
|
||||
// Read that if the ACARS record posted
|
||||
$acars_data = $this->get($uri)->json()['data'][0];
|
||||
$response = $this->get($uri);
|
||||
$acars_data = $response->json('data')[0];
|
||||
$this->assertEquals(round($acars['lat'], 2), round($acars_data['lat'], 2));
|
||||
$this->assertEquals(round($acars['lon'], 2), round($acars_data['lon'], 2));
|
||||
$this->assertEquals($acars['log'], $acars_data['log']);
|
||||
@@ -603,15 +618,15 @@ class AcarsTest extends TestCase
|
||||
$subfleet = $this->createSubfleetWithAircraft(2);
|
||||
$rank = $this->createRank(10, [$subfleet['subfleet']->id]);
|
||||
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
/** @var Airport $airport */
|
||||
$airport = factory(Airport::class)->create();
|
||||
$airport = Airport::factory()->create();
|
||||
|
||||
/** @var Airline $airline */
|
||||
$airline = factory(Airline::class)->create();
|
||||
$airline = Airline::factory()->create();
|
||||
|
||||
/** @var Aircraft $aircraft */
|
||||
$aircraft = $subfleet['aircraft']->random();
|
||||
@@ -668,8 +683,8 @@ class AcarsTest extends TestCase
|
||||
{
|
||||
$this->settingsRepo->store('pireps.restrict_aircraft_to_rank', true);
|
||||
|
||||
$airport = factory(Airport::class)->create();
|
||||
$airline = factory(Airline::class)->create();
|
||||
$airport = Airport::factory()->create();
|
||||
$airline = Airline::factory()->create();
|
||||
|
||||
// Add subfleets and aircraft, but also add another set of subfleets
|
||||
$subfleetA = $this->createSubfleetWithAircraft(1);
|
||||
@@ -679,7 +694,7 @@ class AcarsTest extends TestCase
|
||||
|
||||
$rank = $this->createRank(10, [$subfleetA['subfleet']->id]);
|
||||
|
||||
$this->user = factory(User::class)->create(
|
||||
$this->user = User::factory()->create(
|
||||
[
|
||||
'rank_id' => $rank->id,
|
||||
]
|
||||
@@ -714,8 +729,8 @@ class AcarsTest extends TestCase
|
||||
{
|
||||
$this->settingsRepo->store('pireps.restrict_aircraft_to_rank', false);
|
||||
|
||||
$airport = factory(Airport::class)->create();
|
||||
$airline = factory(Airline::class)->create();
|
||||
$airport = Airport::factory()->create();
|
||||
$airline = Airline::factory()->create();
|
||||
|
||||
// Add subfleets and aircraft, but also add another set of subfleets
|
||||
$subfleetA = $this->createSubfleetWithAircraft(1);
|
||||
@@ -725,7 +740,7 @@ class AcarsTest extends TestCase
|
||||
|
||||
$rank = $this->createRank(10, [$subfleetA['subfleet']->id]);
|
||||
|
||||
$this->user = factory(User::class)->create(
|
||||
$this->user = User::factory()->create(
|
||||
[
|
||||
'rank_id' => $rank->id,
|
||||
]
|
||||
@@ -767,7 +782,7 @@ class AcarsTest extends TestCase
|
||||
|
||||
// Post an ACARS update
|
||||
$acars_count = random_int(5, 10);
|
||||
$acars = factory(Acars::class, $acars_count)->make(['id' => ''])
|
||||
$acars = Acars::factory()->count($acars_count)->make(['id' => ''])
|
||||
->map(function ($point) {
|
||||
$point['id'] = Utils::generateNewId();
|
||||
return $point;
|
||||
@@ -788,7 +803,7 @@ class AcarsTest extends TestCase
|
||||
|
||||
public function testNonExistentPirepGet()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
$uri = '/api/pireps/DOESNTEXIST/acars';
|
||||
$response = $this->get($uri);
|
||||
@@ -797,10 +812,10 @@ class AcarsTest extends TestCase
|
||||
|
||||
public function testNonExistentPirepStore()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
$uri = '/api/pireps/DOESNTEXIST/acars/position';
|
||||
$acars = factory(Acars::class)->make()->toArray();
|
||||
$acars = Acars::factory()->make()->toArray();
|
||||
$response = $this->post($uri, $acars);
|
||||
$response->assertStatus(404);
|
||||
}
|
||||
@@ -815,7 +830,7 @@ class AcarsTest extends TestCase
|
||||
|
||||
$dt = date('c');
|
||||
$uri = '/api/pireps/'.$pirep_id.'/acars/position';
|
||||
$acars = factory(Acars::class)->make([
|
||||
$acars = Acars::factory()->make([
|
||||
'sim_time' => $dt,
|
||||
])->toArray();
|
||||
|
||||
@@ -864,7 +879,7 @@ class AcarsTest extends TestCase
|
||||
$response = $this->post($uri, $pirep);
|
||||
$pirep_id = $response->json()['data']['id'];
|
||||
|
||||
$acars = factory(Acars::class)->make();
|
||||
$acars = Acars::factory()->make();
|
||||
$post_log = [
|
||||
'logs' => [
|
||||
['log' => $acars->log],
|
||||
@@ -878,7 +893,7 @@ class AcarsTest extends TestCase
|
||||
|
||||
$this->assertEquals(1, $body['count']);
|
||||
|
||||
$acars = factory(Acars::class)->make();
|
||||
$acars = Acars::factory()->make();
|
||||
$post_log = [
|
||||
'events' => [
|
||||
['event' => $acars->log],
|
||||
@@ -905,7 +920,7 @@ class AcarsTest extends TestCase
|
||||
$post_route = [];
|
||||
$route_count = random_int(2, 10);
|
||||
|
||||
$route = factory(Navdata::class, $route_count)->create();
|
||||
$route = Navdata::factory()->count($route_count)->create();
|
||||
foreach ($route as $position) {
|
||||
$post_route[] = [
|
||||
'order' => $order,
|
||||
|
||||
@@ -19,7 +19,7 @@ class AirlineTest extends TestCase
|
||||
|
||||
public function testAddAirline()
|
||||
{
|
||||
$attrs = factory(\App\Models\Airline::class)->make([
|
||||
$attrs = \App\Models\Airline::factory()->make([
|
||||
'iata' => '',
|
||||
])->toArray();
|
||||
|
||||
@@ -27,7 +27,7 @@ class AirlineTest extends TestCase
|
||||
$this->assertNotNull($airline);
|
||||
|
||||
// Add another airline, also blank IATA
|
||||
$attrs = factory(\App\Models\Airline::class)->make([
|
||||
$attrs = \App\Models\Airline::factory()->make([
|
||||
'iata' => '',
|
||||
])->toArray();
|
||||
$airline = $this->airlineSvc->createAirline($attrs);
|
||||
@@ -39,8 +39,8 @@ class AirlineTest extends TestCase
|
||||
*/
|
||||
public function testDeleteAirlineWithFlight()
|
||||
{
|
||||
$airline = factory(\App\Models\Airline::class)->create();
|
||||
factory(\App\Models\Flight::class)->create([
|
||||
$airline = \App\Models\Airline::factory()->create();
|
||||
\App\Models\Flight::factory()->create([
|
||||
'airline_id' => $airline->id,
|
||||
]);
|
||||
|
||||
@@ -52,8 +52,8 @@ class AirlineTest extends TestCase
|
||||
*/
|
||||
public function testDeleteAirlineWithPirep()
|
||||
{
|
||||
$airline = factory(\App\Models\Airline::class)->create();
|
||||
factory(\App\Models\Pirep::class)->create([
|
||||
$airline = \App\Models\Airline::factory()->create();
|
||||
\App\Models\Pirep::factory()->create([
|
||||
'airline_id' => $airline->id,
|
||||
]);
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ class ApiTest extends TestCase
|
||||
*/
|
||||
public function testApiAuthentication()
|
||||
{
|
||||
$user = factory(User::class)->create();
|
||||
$user = User::factory()->create();
|
||||
|
||||
$uri = '/api/user';
|
||||
|
||||
@@ -64,7 +64,7 @@ class ApiTest extends TestCase
|
||||
|
||||
public function testApiDeniedOnInactiveUser()
|
||||
{
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'state' => UserState::PENDING,
|
||||
]);
|
||||
|
||||
@@ -77,7 +77,7 @@ class ApiTest extends TestCase
|
||||
*/
|
||||
public function testGetNews(): void
|
||||
{
|
||||
factory(News::class)->create();
|
||||
News::factory()->create();
|
||||
$response = $this->get('/api/news')->json();
|
||||
|
||||
$this->assertCount(1, $response['data']);
|
||||
@@ -90,11 +90,11 @@ class ApiTest extends TestCase
|
||||
public function testGetAirlines()
|
||||
{
|
||||
$size = random_int(5, 10);
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'airline_id' => 0,
|
||||
]);
|
||||
|
||||
$airlines = factory(Airline::class, $size)->create();
|
||||
$airlines = Airline::factory()->count($size)->create();
|
||||
|
||||
$res = $this->get('/api/airlines');
|
||||
$this->assertTrue($res->isOk());
|
||||
@@ -106,26 +106,26 @@ class ApiTest extends TestCase
|
||||
|
||||
public function testGetAirlinesChineseChars()
|
||||
{
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'airline_id' => 0,
|
||||
]);
|
||||
|
||||
factory(Airline::class)->create([
|
||||
Airline::factory()->create([
|
||||
'icao' => 'DKH',
|
||||
'name' => '吉祥航空',
|
||||
]);
|
||||
|
||||
factory(Airline::class)->create([
|
||||
Airline::factory()->create([
|
||||
'icao' => 'CSZ',
|
||||
'name' => '深圳航空',
|
||||
]);
|
||||
|
||||
factory(Airline::class)->create([
|
||||
Airline::factory()->create([
|
||||
'icao' => 'CCA',
|
||||
'name' => '中国国际航空',
|
||||
]);
|
||||
|
||||
factory(Airline::class)->create([
|
||||
Airline::factory()->create([
|
||||
'icao' => 'CXA',
|
||||
'name' => '厦门航空',
|
||||
]);
|
||||
@@ -140,11 +140,11 @@ class ApiTest extends TestCase
|
||||
public function testPagination()
|
||||
{
|
||||
$size = random_int(5, 10);
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'airline_id' => 0,
|
||||
]);
|
||||
|
||||
factory(Subfleet::class, $size)->create();
|
||||
Subfleet::factory()->count($size)->create();
|
||||
|
||||
/*
|
||||
* Page 0 and page 1 should return the same thing
|
||||
@@ -185,8 +185,8 @@ class ApiTest extends TestCase
|
||||
*/
|
||||
public function testAirportRequest()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$airport = factory(Airport::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
$airport = Airport::factory()->create();
|
||||
|
||||
$response = $this->get('/api/airports/'.$airport->icao);
|
||||
|
||||
@@ -201,10 +201,10 @@ class ApiTest extends TestCase
|
||||
*/
|
||||
public function testAirportRequest5Char()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
/** @var Airport $airport */
|
||||
$airport = factory(Airport::class)->create(['icao' => '5Char']);
|
||||
$airport = Airport::factory()->create(['icao' => '5Char']);
|
||||
|
||||
$response = $this->get('/api/airports/'.$airport->icao);
|
||||
|
||||
@@ -219,8 +219,8 @@ class ApiTest extends TestCase
|
||||
*/
|
||||
public function testGetAllAirports()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
factory(Airport::class, 70)->create();
|
||||
$this->user = User::factory()->create();
|
||||
Airport::factory()->count(70)->create();
|
||||
|
||||
$response = $this->get('/api/airports/')
|
||||
->assertStatus(200);
|
||||
@@ -231,9 +231,9 @@ class ApiTest extends TestCase
|
||||
|
||||
public function testGetAllAirportsHubs()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
factory(Airport::class, 10)->create();
|
||||
factory(Airport::class)->create(['hub' => 1]);
|
||||
$this->user = User::factory()->create();
|
||||
Airport::factory()->count(10)->create();
|
||||
Airport::factory()->create(['hub' => 1]);
|
||||
|
||||
$this->get('/api/airports/hubs')
|
||||
->assertStatus(200)
|
||||
@@ -247,23 +247,23 @@ class ApiTest extends TestCase
|
||||
*/
|
||||
public function testGetSubfleets()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
$subfleetA = factory(Subfleet::class)->create([
|
||||
$subfleetA = Subfleet::factory()->create([
|
||||
'airline_id' => $this->user->airline_id,
|
||||
]);
|
||||
|
||||
$subfleetB = factory(Subfleet::class)->create([
|
||||
$subfleetB = Subfleet::factory()->create([
|
||||
'airline_id' => $this->user->airline_id,
|
||||
]);
|
||||
|
||||
$subfleetA_size = random_int(2, 10);
|
||||
$subfleetB_size = random_int(2, 10);
|
||||
factory(Aircraft::class, $subfleetA_size)->create([
|
||||
Aircraft::factory()->count($subfleetA_size)->create([
|
||||
'subfleet_id' => $subfleetA->id,
|
||||
]);
|
||||
|
||||
factory(Aircraft::class, $subfleetB_size)->create([
|
||||
Aircraft::factory()->count($subfleetB_size)->create([
|
||||
'subfleet_id' => $subfleetB->id,
|
||||
]);
|
||||
|
||||
@@ -290,22 +290,22 @@ class ApiTest extends TestCase
|
||||
*/
|
||||
public function testGetAircraft()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
$fare_svc = app(FareService::class);
|
||||
|
||||
/** @var Subfleet $subfleet */
|
||||
$subfleet = factory(Subfleet::class)->create([
|
||||
$subfleet = Subfleet::factory()->create([
|
||||
'airline_id' => $this->user->airline_id,
|
||||
]);
|
||||
|
||||
/** @var Fare $fare */
|
||||
$fare = factory(Fare::class)->create();
|
||||
$fare = Fare::factory()->create();
|
||||
|
||||
$fare_svc->setForSubfleet($subfleet, $fare);
|
||||
|
||||
/** @var Aircraft $aircraft */
|
||||
$aircraft = factory(Aircraft::class)->create([
|
||||
$aircraft = Aircraft::factory()->create([
|
||||
'subfleet_id' => $subfleet->id,
|
||||
]);
|
||||
|
||||
@@ -343,14 +343,14 @@ class ApiTest extends TestCase
|
||||
|
||||
public function testGetAllSettings()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
$res = $this->get('/api/settings')->assertStatus(200);
|
||||
$settings = $res->json();
|
||||
}
|
||||
|
||||
public function testGetUser()
|
||||
{
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'avatar' => '/assets/avatar.jpg',
|
||||
]);
|
||||
|
||||
@@ -361,7 +361,7 @@ class ApiTest extends TestCase
|
||||
|
||||
// Should go to gravatar
|
||||
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
$res = $this->get('/api/user')->assertStatus(200);
|
||||
$user = $res->json('data');
|
||||
@@ -385,4 +385,13 @@ class ApiTest extends TestCase
|
||||
$res = $this->get('/api/cron/'.$id);
|
||||
$res->assertStatus(200);
|
||||
}
|
||||
|
||||
public function testStatus()
|
||||
{
|
||||
$res = $this->get('/api/status');
|
||||
$status = $res->json();
|
||||
|
||||
$this->assertNotEmpty($status['version']);
|
||||
$this->assertNotEmpty($status['php']);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,16 +42,16 @@ class AwardsTest extends TestCase
|
||||
public function testAwardsGiven()
|
||||
{
|
||||
// Create one award that's given out with one flight
|
||||
$award = factory(Award::class)->create([
|
||||
$award = Award::factory()->create([
|
||||
'ref_model' => PilotFlightAwards::class,
|
||||
'ref_model_params' => 1,
|
||||
]);
|
||||
|
||||
$user = factory(User::class)->create([
|
||||
$user = User::factory()->create([
|
||||
'flights' => 0,
|
||||
]);
|
||||
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'airline_id' => $user->airline->id,
|
||||
'user_id' => $user->id,
|
||||
]);
|
||||
@@ -77,18 +77,18 @@ class AwardsTest extends TestCase
|
||||
public function testFlightRouteAward()
|
||||
{
|
||||
/** @var \App\Models\User $user */
|
||||
$user = factory(User::class)->create([
|
||||
$user = User::factory()->create([
|
||||
'flights' => 0,
|
||||
]);
|
||||
|
||||
/** @var \App\Models\Award $award */
|
||||
$award = factory(Award::class)->create([
|
||||
$award = Award::factory()->create([
|
||||
'ref_model' => FlightRouteAwards::class,
|
||||
'ref_model_params' => 1,
|
||||
]);
|
||||
|
||||
/** @var Pirep $pirep */
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'airline_id' => $user->airline->id,
|
||||
'user_id' => $user->id,
|
||||
]);
|
||||
|
||||
@@ -36,13 +36,13 @@ class BidTest extends TestCase
|
||||
|
||||
public function addFlight($user, $subfleet = null)
|
||||
{
|
||||
$flight = factory(Flight::class)->create([
|
||||
$flight = Flight::factory()->create([
|
||||
'airline_id' => $user->airline_id,
|
||||
]);
|
||||
|
||||
if ($subfleet === null) {
|
||||
/** @var Subfleet $subfleet */
|
||||
$subfleet = factory(Subfleet::class)->create([
|
||||
$subfleet = Subfleet::factory()->create([
|
||||
'airline_id' => $user->airline_id,
|
||||
])->id;
|
||||
}
|
||||
@@ -69,13 +69,13 @@ class BidTest extends TestCase
|
||||
$fare_svc = app(FareService::class);
|
||||
|
||||
/** @var Fare $fare */
|
||||
$fare = factory(Fare::class)->create();
|
||||
$fare = Fare::factory()->create();
|
||||
$fare_svc->setForSubfleet($subfleet['subfleet'], $fare, [
|
||||
'price' => 50, 'capacity' => 400,
|
||||
]);
|
||||
|
||||
/** @var User $user */
|
||||
$user = factory(User::class)->create([
|
||||
$user = User::factory()->create([
|
||||
'flight_time' => 1000,
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
@@ -123,7 +123,7 @@ class BidTest extends TestCase
|
||||
// have a second user bid on it
|
||||
|
||||
/** @var User $user */
|
||||
$user2 = factory(User::class)->create(['rank_id' => $rank->id]);
|
||||
$user2 = User::factory()->create(['rank_id' => $rank->id]);
|
||||
|
||||
$bid_user2 = $this->bidSvc->addBid($flight, $user2);
|
||||
$this->assertNotNull($bid_user2);
|
||||
@@ -163,8 +163,8 @@ class BidTest extends TestCase
|
||||
{
|
||||
$this->settingsRepo->store('bids.disable_flight_on_bid', true);
|
||||
|
||||
$user1 = factory(User::class)->create();
|
||||
$user2 = factory(User::class)->create([
|
||||
$user1 = User::factory()->create();
|
||||
$user2 = User::factory()->create([
|
||||
'airline_id' => $user1->airline_id,
|
||||
]);
|
||||
|
||||
@@ -183,8 +183,8 @@ class BidTest extends TestCase
|
||||
*/
|
||||
public function testAddBidApi()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$user2 = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
$user2 = User::factory()->create();
|
||||
|
||||
/** @var \App\Models\Flight $flight */
|
||||
$flight = $this->addFlight($this->user);
|
||||
@@ -221,7 +221,7 @@ class BidTest extends TestCase
|
||||
*/
|
||||
public function testDeleteFlightWithBids()
|
||||
{
|
||||
$user = factory(User::class)->create();
|
||||
$user = User::factory()->create();
|
||||
$headers = $this->headers($user);
|
||||
|
||||
$flight = $this->addFlight($user);
|
||||
|
||||
@@ -22,10 +22,10 @@ class CronTest extends TestCase
|
||||
protected static function getPirep($subtractTime): Pirep
|
||||
{
|
||||
/** @var User $user */
|
||||
$user = factory(User::class)->create();
|
||||
$user = User::factory()->create();
|
||||
|
||||
/** @var Pirep $pirep */
|
||||
return factory(Pirep::class)->create([
|
||||
return Pirep::factory()->create([
|
||||
'user_id' => $user->id,
|
||||
'state' => PirepState::IN_PROGRESS,
|
||||
'updated_at' => Carbon::now('UTC')->subHours($subtractTime),
|
||||
|
||||
@@ -84,31 +84,31 @@ class FinanceTest extends TestCase
|
||||
$this->fleetSvc->addSubfleetToRank($subfleet['subfleet'], $rank);
|
||||
|
||||
/** @var Airport $dpt_apt */
|
||||
$dpt_apt = factory(Airport::class)->create([
|
||||
$dpt_apt = Airport::factory()->create([
|
||||
'ground_handling_cost' => 10,
|
||||
'fuel_jeta_cost' => 10,
|
||||
]);
|
||||
|
||||
/** @var Airport $arr_apt */
|
||||
$arr_apt = factory(Airport::class)->create([
|
||||
$arr_apt = Airport::factory()->create([
|
||||
'ground_handling_cost' => 10,
|
||||
'fuel_jeta_cost' => 10,
|
||||
]);
|
||||
|
||||
/** @var User $user */
|
||||
$user = factory(User::class)->create([
|
||||
$user = User::factory()->create([
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
/** @var Flight $flight */
|
||||
$flight = factory(Flight::class)->create([
|
||||
$flight = Flight::factory()->create([
|
||||
'airline_id' => $user->airline_id,
|
||||
'dpt_airport_id' => $dpt_apt->icao,
|
||||
'arr_airport_id' => $arr_apt->icao,
|
||||
]);
|
||||
|
||||
/** @var Pirep $pirep */
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'flight_number' => $flight->flight_number,
|
||||
'flight_type' => FlightType::SCHED_PAX,
|
||||
'route_code' => $flight->route_code,
|
||||
@@ -130,7 +130,7 @@ class FinanceTest extends TestCase
|
||||
* to the PIREP when it's saved, and set the capacity
|
||||
*/
|
||||
/** @var Fare $fares */
|
||||
$fares = factory(Fare::class, 3)->create([
|
||||
$fares = Fare::factory()->count(3)->create([
|
||||
'price' => 100,
|
||||
'cost' => 50,
|
||||
'capacity' => 10,
|
||||
@@ -141,26 +141,26 @@ class FinanceTest extends TestCase
|
||||
}
|
||||
|
||||
// Add an expense
|
||||
factory(Expense::class)->create([
|
||||
Expense::factory()->create([
|
||||
'airline_id' => null,
|
||||
'amount' => 100,
|
||||
]);
|
||||
|
||||
// Add a subfleet expense
|
||||
factory(Expense::class)->create([
|
||||
Expense::factory()->create([
|
||||
'ref_model' => Subfleet::class,
|
||||
'ref_model_id' => $subfleet['subfleet']->id,
|
||||
'amount' => 200,
|
||||
]);
|
||||
|
||||
// Add expenses for airports
|
||||
factory(Expense::class)->create([
|
||||
Expense::factory()->create([
|
||||
'ref_model' => Airport::class,
|
||||
'ref_model_id' => $dpt_apt->id,
|
||||
'amount' => 50,
|
||||
]);
|
||||
|
||||
factory(Expense::class)->create([
|
||||
Expense::factory()->create([
|
||||
'ref_model' => Airport::class,
|
||||
'ref_model_id' => $arr_apt->id,
|
||||
'amount' => 100,
|
||||
@@ -183,13 +183,13 @@ class FinanceTest extends TestCase
|
||||
$this->updateSetting('pireps.only_aircraft_at_dpt_airport', false);
|
||||
$this->updateSetting('pireps.restrict_aircraft_to_rank', false);
|
||||
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
/** @var Flight $flight */
|
||||
$flight = factory(Flight::class)->create();
|
||||
$flight = Flight::factory()->create();
|
||||
|
||||
/** @var Subfleet $subfleet */
|
||||
$subfleet = factory(Subfleet::class)->create();
|
||||
$subfleet = Subfleet::factory()->create();
|
||||
$this->fleetSvc->addSubfleetToFlight($subfleet, $flight);
|
||||
|
||||
/**
|
||||
@@ -199,7 +199,7 @@ class FinanceTest extends TestCase
|
||||
* mostly for the output side
|
||||
*/
|
||||
/** @var Fare $fare */
|
||||
$fare = factory(Fare::class)->create([
|
||||
$fare = Fare::factory()->create([
|
||||
'price' => 10,
|
||||
'cost' => 20,
|
||||
'capacity' => 100,
|
||||
@@ -256,17 +256,17 @@ class FinanceTest extends TestCase
|
||||
/** @var BidService $bidSvc */
|
||||
$bidSvc = app(BidService::class);
|
||||
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
/** @var Flight $flight */
|
||||
$flight = factory(Flight::class)->create();
|
||||
$flight = Flight::factory()->create();
|
||||
|
||||
/** @var Subfleet $subfleet */
|
||||
$subfleet = factory(Subfleet::class)->create();
|
||||
$subfleet = Subfleet::factory()->create();
|
||||
$this->fleetSvc->addSubfleetToFlight($subfleet, $flight);
|
||||
|
||||
/** @var Fare $fare */
|
||||
$fare = factory(Fare::class)->create();
|
||||
$fare = Fare::factory()->create();
|
||||
|
||||
$this->fareSvc->setForFlight($flight, $fare);
|
||||
|
||||
@@ -294,14 +294,14 @@ class FinanceTest extends TestCase
|
||||
/**
|
||||
* Add a user and flights
|
||||
*/
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
$flight = $this->addFlight($this->user);
|
||||
|
||||
/** @var FareService $fare_svc */
|
||||
$fare_svc = app(FareService::class);
|
||||
|
||||
/** @var \App\Models\Fare $fare */
|
||||
$fare = factory(Fare::class)->create();
|
||||
$fare = Fare::factory()->create();
|
||||
$fare_svc->setForSubfleet($flight->subfleets[0], $fare, ['price' => 50]);
|
||||
|
||||
// Get from API
|
||||
@@ -321,13 +321,13 @@ class FinanceTest extends TestCase
|
||||
public function testFlightFareOverrideAsPercent()
|
||||
{
|
||||
/** @var Flight $flight */
|
||||
$flight = factory(Flight::class)->create();
|
||||
$flight = Flight::factory()->create();
|
||||
|
||||
/** @var \App\Models\Fare $fare */
|
||||
$fare = factory(Fare::class)->create();
|
||||
$fare = Fare::factory()->create();
|
||||
|
||||
// Subfleet needs to be attached to a flight
|
||||
$subfleet = factory(Subfleet::class)->create();
|
||||
$subfleet = Subfleet::factory()->create();
|
||||
$this->fleetSvc->addSubfleetToFlight($subfleet, $flight);
|
||||
|
||||
$percent_incr = '120%';
|
||||
@@ -355,8 +355,8 @@ class FinanceTest extends TestCase
|
||||
|
||||
public function testSubfleetFaresNoOverride()
|
||||
{
|
||||
$subfleet = factory(Subfleet::class)->create();
|
||||
$fare = factory(Fare::class)->create();
|
||||
$subfleet = Subfleet::factory()->create();
|
||||
$fare = Fare::factory()->create();
|
||||
|
||||
$this->fareSvc->setForSubfleet($subfleet, $fare);
|
||||
$subfleet_fares = $this->fareSvc->getForSubfleet($subfleet);
|
||||
@@ -386,8 +386,8 @@ class FinanceTest extends TestCase
|
||||
|
||||
public function testSubfleetFaresOverride()
|
||||
{
|
||||
$subfleet = factory(Subfleet::class)->create();
|
||||
$fare = factory(Fare::class)->create();
|
||||
$subfleet = Subfleet::factory()->create();
|
||||
$fare = Fare::factory()->create();
|
||||
|
||||
$this->fareSvc->setForSubfleet($subfleet, $fare, [
|
||||
'price' => 50, 'capacity' => 400,
|
||||
@@ -423,8 +423,8 @@ class FinanceTest extends TestCase
|
||||
*/
|
||||
public function testSubfleetFareOverrideAsPercent()
|
||||
{
|
||||
$subfleet = factory(Subfleet::class)->create();
|
||||
$fare = factory(Fare::class)->create();
|
||||
$subfleet = Subfleet::factory()->create();
|
||||
$fare = Fare::factory()->create();
|
||||
|
||||
$percent_incr = '20%';
|
||||
$percent_decr = '-20%';
|
||||
@@ -454,9 +454,9 @@ class FinanceTest extends TestCase
|
||||
*/
|
||||
public function testGetFaresWithOverrides()
|
||||
{
|
||||
$flight = factory(Flight::class)->create();
|
||||
$subfleet = factory(Subfleet::class)->create();
|
||||
[$fare1, $fare2, $fare3, $fare4] = factory(Fare::class, 4)->create();
|
||||
$flight = Flight::factory()->create();
|
||||
$subfleet = Subfleet::factory()->create();
|
||||
[$fare1, $fare2, $fare3, $fare4] = Fare::factory()->count(4)->create();
|
||||
|
||||
// add to the subfleet, and just override one of them
|
||||
$this->fareSvc->setForSubfleet($subfleet, $fare1);
|
||||
@@ -508,8 +508,8 @@ class FinanceTest extends TestCase
|
||||
|
||||
public function testGetFaresNoFlightOverrides()
|
||||
{
|
||||
$subfleet = factory(Subfleet::class)->create();
|
||||
[$fare1, $fare2, $fare3] = factory(Fare::class, 3)->create();
|
||||
$subfleet = Subfleet::factory()->create();
|
||||
[$fare1, $fare2, $fare3] = Fare::factory()->count(3)->create();
|
||||
|
||||
// add to the subfleet, and just override one of them
|
||||
$this->fareSvc->setForSubfleet($subfleet, $fare1);
|
||||
@@ -556,11 +556,11 @@ class FinanceTest extends TestCase
|
||||
$rank = $this->createRank(10, [$subfleet['subfleet']->id]);
|
||||
$this->fleetSvc->addSubfleetToRank($subfleet['subfleet'], $rank);
|
||||
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'user_id' => $this->user->id,
|
||||
'aircraft_id' => $subfleet['aircraft']->random(),
|
||||
'source' => PirepSource::ACARS,
|
||||
@@ -583,11 +583,11 @@ class FinanceTest extends TestCase
|
||||
'acars_pay' => $acars_pay_rate,
|
||||
]);
|
||||
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
$pirep_acars = factory(Pirep::class)->create([
|
||||
$pirep_acars = Pirep::factory()->create([
|
||||
'user_id' => $this->user->id,
|
||||
'aircraft_id' => $subfleet['aircraft']->random(),
|
||||
'source' => PirepSource::ACARS,
|
||||
@@ -607,7 +607,7 @@ class FinanceTest extends TestCase
|
||||
'manual_pay' => $manual_pay_rate,
|
||||
]);
|
||||
|
||||
$pirep_manual = factory(Pirep::class)->create([
|
||||
$pirep_manual = Pirep::factory()->create([
|
||||
'user_id' => $this->user->id,
|
||||
'aircraft_id' => $subfleet['aircraft']->random(),
|
||||
'source' => PirepSource::MANUAL,
|
||||
@@ -634,11 +634,11 @@ class FinanceTest extends TestCase
|
||||
'acars_pay' => $acars_pay_rate,
|
||||
]);
|
||||
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
$pirep_acars = factory(Pirep::class)->create([
|
||||
$pirep_acars = Pirep::factory()->create([
|
||||
'user_id' => $this->user->id,
|
||||
'aircraft_id' => $subfleet['aircraft']->random(),
|
||||
'source' => PirepSource::ACARS,
|
||||
@@ -648,7 +648,7 @@ class FinanceTest extends TestCase
|
||||
$payment = $this->financeSvc->getPilotPay($pirep_acars);
|
||||
$this->assertEquals(100, $payment->getValue());
|
||||
|
||||
$pirep_acars = factory(Pirep::class)->create([
|
||||
$pirep_acars = Pirep::factory()->create([
|
||||
'user_id' => $this->user->id,
|
||||
'aircraft_id' => $subfleet['aircraft']->random(),
|
||||
'source' => PirepSource::ACARS,
|
||||
@@ -669,16 +669,16 @@ class FinanceTest extends TestCase
|
||||
'acars_pay' => $acars_pay_rate,
|
||||
]);
|
||||
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
$flight = factory(Flight::class)->create([
|
||||
$flight = Flight::factory()->create([
|
||||
'airline_id' => $this->user->airline_id,
|
||||
'pilot_pay' => 1000,
|
||||
]);
|
||||
|
||||
$pirep_acars = factory(Pirep::class)->create([
|
||||
$pirep_acars = Pirep::factory()->create([
|
||||
'user_id' => $this->user->id,
|
||||
'aircraft_id' => $subfleet['aircraft']->random(),
|
||||
'source' => PirepSource::ACARS,
|
||||
@@ -689,7 +689,7 @@ class FinanceTest extends TestCase
|
||||
$payment = $this->financeSvc->getPilotPay($pirep_acars);
|
||||
$this->assertEquals(1000, $payment->getValue());
|
||||
|
||||
$pirep_acars = factory(Pirep::class)->create([
|
||||
$pirep_acars = Pirep::factory()->create([
|
||||
'user_id' => $this->user->id,
|
||||
'aircraft_id' => $subfleet['aircraft']->random(),
|
||||
'source' => PirepSource::ACARS,
|
||||
@@ -707,8 +707,8 @@ class FinanceTest extends TestCase
|
||||
{
|
||||
$journalRepo = app(JournalRepository::class);
|
||||
|
||||
$user = factory(User::class)->create();
|
||||
$journal = factory(Journal::class)->create();
|
||||
$user = User::factory()->create();
|
||||
$journal = Journal::factory()->create();
|
||||
|
||||
$journalRepo->post(
|
||||
$journal,
|
||||
@@ -787,20 +787,20 @@ class FinanceTest extends TestCase
|
||||
public function testPirepExpenses()
|
||||
{
|
||||
/** @var Airline $airline */
|
||||
$airline = factory(Airline::class)->create();
|
||||
$airline = Airline::factory()->create();
|
||||
|
||||
/** @var Airline $airline2 */
|
||||
$airline2 = factory(Airline::class)->create();
|
||||
$airline2 = Airline::factory()->create();
|
||||
|
||||
factory(Expense::class)->create([
|
||||
Expense::factory()->create([
|
||||
'airline_id' => $airline->id,
|
||||
]);
|
||||
|
||||
factory(Expense::class)->create([
|
||||
Expense::factory()->create([
|
||||
'airline_id' => $airline2->id,
|
||||
]);
|
||||
|
||||
factory(Expense::class)->create([
|
||||
Expense::factory()->create([
|
||||
'airline_id' => null,
|
||||
]);
|
||||
|
||||
@@ -825,8 +825,8 @@ class FinanceTest extends TestCase
|
||||
* Test the subfleet class
|
||||
*/
|
||||
|
||||
$subfleet = factory(Subfleet::class)->create();
|
||||
factory(Expense::class)->create([
|
||||
$subfleet = Subfleet::factory()->create();
|
||||
Expense::factory()->create([
|
||||
'airline_id' => null,
|
||||
'ref_model' => Subfleet::class,
|
||||
'ref_model_id' => $subfleet->id,
|
||||
@@ -848,23 +848,28 @@ class FinanceTest extends TestCase
|
||||
|
||||
public function testAirportExpenses()
|
||||
{
|
||||
$apt1 = factory(Airport::class)->create();
|
||||
$apt2 = factory(Airport::class)->create();
|
||||
$apt3 = factory(Airport::class)->create();
|
||||
/** @var Airport $apt1 */
|
||||
$apt1 = Airport::factory()->create();
|
||||
|
||||
factory(Expense::class)->create([
|
||||
/** @var Airport $apt2 */
|
||||
$apt2 = Airport::factory()->create();
|
||||
|
||||
/** @var Airport $apt3 */
|
||||
$apt3 = Airport::factory()->create();
|
||||
|
||||
Expense::factory()->create([
|
||||
'airline_id' => null,
|
||||
'ref_model' => Airport::class,
|
||||
'ref_model_id' => $apt1->id,
|
||||
]);
|
||||
|
||||
factory(Expense::class)->create([
|
||||
Expense::factory()->create([
|
||||
'airline_id' => null,
|
||||
'ref_model' => Airport::class,
|
||||
'ref_model_id' => $apt2->id,
|
||||
]);
|
||||
|
||||
factory(Expense::class)->create([
|
||||
Expense::factory()->create([
|
||||
'airline_id' => null,
|
||||
'ref_model' => Airport::class,
|
||||
'ref_model_id' => $apt3->id,
|
||||
@@ -935,7 +940,7 @@ class FinanceTest extends TestCase
|
||||
$journalRepo = app(JournalRepository::class);
|
||||
|
||||
// Add an expense that's only for a cargo flight
|
||||
factory(Expense::class)->create([
|
||||
Expense::factory()->create([
|
||||
'airline_id' => null,
|
||||
'amount' => 100,
|
||||
'flight_type' => FlightType::SCHED_CARGO,
|
||||
@@ -982,7 +987,7 @@ class FinanceTest extends TestCase
|
||||
}
|
||||
|
||||
// Add a new PIREP;
|
||||
$pirep2 = factory(Pirep::class)->create([
|
||||
$pirep2 = Pirep::factory()->create([
|
||||
'flight_number' => 100,
|
||||
'flight_type' => FlightType::SCHED_CARGO,
|
||||
'dpt_airport_id' => $pirep->dpt_airport_id,
|
||||
@@ -1027,12 +1032,12 @@ class FinanceTest extends TestCase
|
||||
public function testPirepFinancesExpensesMultiAirline()
|
||||
{
|
||||
/** @var Airline $airline */
|
||||
$airline = factory(Airline::class)->create();
|
||||
$airline = Airline::factory()->create();
|
||||
|
||||
$journalRepo = app(JournalRepository::class);
|
||||
|
||||
// Add an expense that's only for a cargo flight
|
||||
factory(Expense::class)->create(
|
||||
Expense::factory()->create(
|
||||
[
|
||||
'airline_id' => null,
|
||||
'amount' => 100,
|
||||
@@ -1043,7 +1048,7 @@ class FinanceTest extends TestCase
|
||||
[$user, $pirep, $fares] = $this->createFullPirep();
|
||||
$user->airline->initJournal(setting('units.currency', 'USD'));
|
||||
|
||||
factory(Expense::class)->create(
|
||||
Expense::factory()->create(
|
||||
[
|
||||
'airline_id' => $user->airline->id,
|
||||
'amount' => 100,
|
||||
@@ -1051,7 +1056,7 @@ class FinanceTest extends TestCase
|
||||
]
|
||||
);
|
||||
|
||||
factory(Expense::class)->create(
|
||||
Expense::factory()->create(
|
||||
[
|
||||
'airline_id' => $airline->id,
|
||||
'amount' => 100,
|
||||
@@ -1061,8 +1066,8 @@ class FinanceTest extends TestCase
|
||||
|
||||
// There shouldn't be an expense from this subfleet
|
||||
/** @var Subfleet $subfleet */
|
||||
$subfleet = factory(Subfleet::class)->create();
|
||||
factory(Expense::class)->create([
|
||||
$subfleet = Subfleet::factory()->create();
|
||||
Expense::factory()->create([
|
||||
'airline_id' => null,
|
||||
'amount' => 100,
|
||||
'ref_model' => Subfleet::class,
|
||||
|
||||
@@ -38,7 +38,7 @@ class FlightTest extends TestCase
|
||||
*/
|
||||
public function testDuplicateFlight()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
$flight = $this->addFlight($this->user);
|
||||
|
||||
// first flight shouldn't be a duplicate
|
||||
@@ -54,7 +54,7 @@ class FlightTest extends TestCase
|
||||
$this->assertTrue($this->flightSvc->isFlightDuplicate($flight_dupe));
|
||||
|
||||
// same flight but diff airline shouldn't be a dupe
|
||||
$new_airline = factory(Airline::class)->create();
|
||||
$new_airline = Airline::factory()->create();
|
||||
$flight_dupe = new Flight([
|
||||
'airline_id' => $new_airline->airline_id,
|
||||
'flight_number' => $flight->flight_number,
|
||||
@@ -65,7 +65,7 @@ class FlightTest extends TestCase
|
||||
$this->assertFalse($this->flightSvc->isFlightDuplicate($flight_dupe));
|
||||
|
||||
// add another flight with a code
|
||||
$flight_leg = factory(Flight::class)->create([
|
||||
$flight_leg = Flight::factory()->create([
|
||||
'airline_id' => $flight->airline_id,
|
||||
'flight_number' => $flight->flight_number,
|
||||
'route_code' => 'A',
|
||||
@@ -74,7 +74,7 @@ class FlightTest extends TestCase
|
||||
$this->assertFalse($this->flightSvc->isFlightDuplicate($flight_leg));
|
||||
|
||||
// Add both a route and leg
|
||||
$flight_leg = factory(Flight::class)->create([
|
||||
$flight_leg = Flight::factory()->create([
|
||||
'airline_id' => $flight->airline_id,
|
||||
'flight_number' => $flight->flight_number,
|
||||
'route_code' => 'A',
|
||||
@@ -86,7 +86,7 @@ class FlightTest extends TestCase
|
||||
|
||||
public function testGetFlight()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
$flight = $this->addFlight($this->user, [
|
||||
'load_factor' => '',
|
||||
'load_factor_variance' => '',
|
||||
@@ -114,7 +114,7 @@ class FlightTest extends TestCase
|
||||
public function testSearchFlight()
|
||||
{
|
||||
/** @var \App\Models\User user */
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
$flight = $this->addFlight($this->user);
|
||||
|
||||
/** @var \App\Services\FlightService $flightSvc */
|
||||
@@ -126,18 +126,20 @@ class FlightTest extends TestCase
|
||||
// search specifically for a flight ID
|
||||
$query = 'flight_id='.$flight->id;
|
||||
$req = $this->get('/api/flights/search?'.$query);
|
||||
$body = $req->json(['data']);
|
||||
$req->assertStatus(200);
|
||||
|
||||
$data = $req->json('data');
|
||||
$this->assertEquals(1, count($data));
|
||||
}
|
||||
|
||||
public function testSearchFlightInactiveAirline()
|
||||
{
|
||||
/** @var \App\Models\Airline $airline_inactive */
|
||||
$airline_inactive = factory(Airline::class)->create(['active' => 0]);
|
||||
$airline_inactive = Airline::factory()->create(['active' => 0]);
|
||||
|
||||
/** @var \App\Models\Airline $airline_active */
|
||||
$airline_active = factory(Airline::class)->create(['active' => 1]);
|
||||
$this->user = factory(User::class)->create([
|
||||
$airline_active = Airline::factory()->create(['active' => 1]);
|
||||
$this->user = User::factory()->create([
|
||||
'airline_id' => $airline_inactive->id,
|
||||
]);
|
||||
|
||||
@@ -160,11 +162,11 @@ class FlightTest extends TestCase
|
||||
*/
|
||||
public function testFlightRoute()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
$flight = $this->addFlight($this->user);
|
||||
|
||||
$route_count = random_int(4, 6);
|
||||
$route = factory(Navdata::class, $route_count)->create();
|
||||
$route = Navdata::factory()->count($route_count)->create();
|
||||
$route_text = implode(' ', $route->pluck('id')->toArray());
|
||||
|
||||
$flight->route = $route_text;
|
||||
@@ -194,8 +196,8 @@ class FlightTest extends TestCase
|
||||
*/
|
||||
public function testFindAllFlights()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
factory(Flight::class, 20)->create([
|
||||
$this->user = User::factory()->create();
|
||||
Flight::factory()->count(20)->create([
|
||||
'airline_id' => $this->user->airline_id,
|
||||
]);
|
||||
|
||||
@@ -213,12 +215,12 @@ class FlightTest extends TestCase
|
||||
*/
|
||||
public function testSearchFlightBySubfleet()
|
||||
{
|
||||
$airline = factory(Airline::class)->create();
|
||||
$subfleetA = factory(Subfleet::class)->create(['airline_id' => $airline->id]);
|
||||
$subfleetB = factory(Subfleet::class)->create(['airline_id' => $airline->id]);
|
||||
$airline = Airline::factory()->create();
|
||||
$subfleetA = Subfleet::factory()->create(['airline_id' => $airline->id]);
|
||||
$subfleetB = Subfleet::factory()->create(['airline_id' => $airline->id]);
|
||||
|
||||
$rank = $this->createRank(0, [$subfleetB->id]);
|
||||
$this->user = factory(User::class)->create([
|
||||
$this->user = User::factory()->create([
|
||||
'airline_id' => $airline->id,
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
@@ -233,6 +235,51 @@ class FlightTest extends TestCase
|
||||
$res->assertStatus(200);
|
||||
$res->assertJsonCount(10, 'data');
|
||||
|
||||
$meta = $res->json('meta');
|
||||
|
||||
$body = $res->json('data');
|
||||
collect($body)->each(function ($flight) use ($subfleetB) {
|
||||
self::assertNotEmpty($flight['subfleets']);
|
||||
self::assertEquals($subfleetB->id, $flight['subfleets'][0]['id']);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Search for flights based on a subfleet. If subfleet is blank
|
||||
*/
|
||||
public function testSearchFlightBySubfleetPagination()
|
||||
{
|
||||
/** @var Airline $airline */
|
||||
$airline = Airline::factory()->create();
|
||||
|
||||
/** @var Subfleet $subfleetA */
|
||||
$subfleetA = Subfleet::factory()->create(['airline_id' => $airline->id]);
|
||||
|
||||
/** @var Subfleet $subfleetB */
|
||||
$subfleetB = Subfleet::factory()->create(['airline_id' => $airline->id]);
|
||||
|
||||
$rank = $this->createRank(0, [$subfleetB->id]);
|
||||
$this->user = User::factory()->create([
|
||||
'airline_id' => $airline->id,
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
$this->addFlightsForSubfleet($subfleetA, 5);
|
||||
$this->addFlightsForSubfleet($subfleetB, 10);
|
||||
|
||||
// search specifically for a given subfleet
|
||||
//$query = 'subfleet_id='.$subfleetB->id;
|
||||
$query = 'subfleet_id='.$subfleetB->id.'&limit=2';
|
||||
$res = $this->get('/api/flights/search?'.$query);
|
||||
$res->assertStatus(200);
|
||||
$res->assertJsonCount(2, 'data');
|
||||
|
||||
$meta = $res->json('meta');
|
||||
$this->assertNull($meta['prev_page']);
|
||||
$this->assertNotNull($meta['next_page']);
|
||||
$this->assertEquals(1, $meta['current_page']);
|
||||
$this->assertEquals(10, $meta['total']);
|
||||
|
||||
$body = $res->json('data');
|
||||
collect($body)->each(function ($flight) use ($subfleetB) {
|
||||
self::assertNotEmpty($flight['subfleets']);
|
||||
@@ -246,12 +293,15 @@ class FlightTest extends TestCase
|
||||
*/
|
||||
public function testFindDaysOfWeek(): void
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
factory(Flight::class, 20)->create([
|
||||
/** @var User user */
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
Flight::factory()->count(20)->create([
|
||||
'airline_id' => $this->user->airline_id,
|
||||
]);
|
||||
|
||||
$saved_flight = factory(Flight::class)->create([
|
||||
/** @var Flight $saved_flight */
|
||||
$saved_flight = Flight::factory()->create([
|
||||
'airline_id' => $this->user->airline_id,
|
||||
'days' => Days::getDaysMask([
|
||||
Days::SUNDAY,
|
||||
@@ -259,6 +309,7 @@ class FlightTest extends TestCase
|
||||
]),
|
||||
]);
|
||||
|
||||
/** @var Flight $flight */
|
||||
$flight = Flight::findByDays([Days::SUNDAY])->first();
|
||||
$this->assertTrue($flight->on_day(Days::SUNDAY));
|
||||
$this->assertTrue($flight->on_day(Days::THURSDAY));
|
||||
@@ -280,7 +331,7 @@ class FlightTest extends TestCase
|
||||
public function testDayOfWeekActive(): void
|
||||
{
|
||||
/** @var User user */
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
// Set it to Monday or Tuesday, depending on what today is
|
||||
if (date('N') === '1') { // today is a monday
|
||||
@@ -289,10 +340,10 @@ class FlightTest extends TestCase
|
||||
$days = Days::getDaysMask([Days::MONDAY]);
|
||||
}
|
||||
|
||||
factory(Flight::class, 5)->create();
|
||||
Flight::factory()->count(5)->create();
|
||||
|
||||
/** @var Flight $flight */
|
||||
$flight = factory(Flight::class)->create([
|
||||
$flight = Flight::factory()->create([
|
||||
'days' => $days,
|
||||
]);
|
||||
|
||||
@@ -336,15 +387,15 @@ class FlightTest extends TestCase
|
||||
|
||||
public function testStartEndDate(): void
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
factory(Flight::class, 5)->create();
|
||||
$flight = factory(Flight::class)->create([
|
||||
Flight::factory()->count(5)->create();
|
||||
$flight = Flight::factory()->create([
|
||||
'start_date' => Carbon::now('UTC')->subDays(1),
|
||||
'end_date' => Carbon::now('UTC')->addDays(1),
|
||||
]);
|
||||
|
||||
$flight_not_active = factory(Flight::class)->create([
|
||||
$flight_not_active = Flight::factory()->create([
|
||||
'start_date' => Carbon::now('UTC')->subDays(10),
|
||||
'end_date' => Carbon::now('UTC')->subDays(2),
|
||||
]);
|
||||
@@ -365,7 +416,7 @@ class FlightTest extends TestCase
|
||||
|
||||
public function testStartEndDateDayOfWeek(): void
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
// Set it to Monday or Tuesday, depending on what today is
|
||||
if (date('N') === '1') { // today is a monday
|
||||
@@ -374,15 +425,15 @@ class FlightTest extends TestCase
|
||||
$days = Days::getDaysMask([Days::MONDAY]);
|
||||
}
|
||||
|
||||
factory(Flight::class, 5)->create();
|
||||
$flight = factory(Flight::class)->create([
|
||||
Flight::factory()->count(5)->create();
|
||||
$flight = Flight::factory()->create([
|
||||
'start_date' => Carbon::now('UTC')->subDays(1),
|
||||
'end_date' => Carbon::now('UTC')->addDays(1),
|
||||
'days' => Days::$isoDayMap[date('N')],
|
||||
]);
|
||||
|
||||
// Not active because of days of week not today
|
||||
$flight_not_active = factory(Flight::class)->create([
|
||||
$flight_not_active = Flight::factory()->create([
|
||||
'start_date' => Carbon::now('UTC')->subDays(1),
|
||||
'end_date' => Carbon::now('UTC')->addDays(1),
|
||||
'days' => $days,
|
||||
@@ -404,8 +455,8 @@ class FlightTest extends TestCase
|
||||
|
||||
public function testFlightSearchApi()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$flights = factory(Flight::class, 10)->create([
|
||||
$this->user = User::factory()->create();
|
||||
$flights = Flight::factory()->count(10)->create([
|
||||
'airline_id' => $this->user->airline_id,
|
||||
]);
|
||||
|
||||
@@ -420,12 +471,12 @@ class FlightTest extends TestCase
|
||||
|
||||
public function testFlightSearchApiDepartureAirport()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
factory(Flight::class, 10)->create([
|
||||
$this->user = User::factory()->create();
|
||||
Flight::factory()->count(10)->create([
|
||||
'airline_id' => $this->user->airline_id,
|
||||
]);
|
||||
|
||||
$flight = factory(Flight::class)->create([
|
||||
$flight = Flight::factory()->create([
|
||||
'airline_id' => $this->user->airline_id,
|
||||
'dpt_airport_id' => 'KAUS',
|
||||
]);
|
||||
@@ -443,10 +494,10 @@ class FlightTest extends TestCase
|
||||
$total_flights = 10;
|
||||
|
||||
/** @var \App\Models\User user */
|
||||
$this->user = factory(User::class)->create();
|
||||
$this->user = User::factory()->create();
|
||||
|
||||
/** @var \App\Models\Flight $flights */
|
||||
$flights = factory(Flight::class, $total_flights)->create([
|
||||
$flights = Flight::factory()->count($total_flights)->create([
|
||||
'airline_id' => $this->user->airline_id,
|
||||
]);
|
||||
|
||||
@@ -483,8 +534,8 @@ class FlightTest extends TestCase
|
||||
|
||||
public function testAddSubfleet()
|
||||
{
|
||||
$subfleet = factory(Subfleet::class)->create();
|
||||
$flight = factory(Flight::class)->create();
|
||||
$subfleet = Subfleet::factory()->create();
|
||||
$flight = Flight::factory()->create();
|
||||
|
||||
$fleetSvc = app(FleetService::class);
|
||||
$fleetSvc->addSubfleetToFlight($subfleet, $flight);
|
||||
@@ -505,7 +556,7 @@ class FlightTest extends TestCase
|
||||
*/
|
||||
public function testDeleteFlight()
|
||||
{
|
||||
$user = factory(User::class)->create();
|
||||
$user = User::factory()->create();
|
||||
|
||||
$flight = $this->addFlight($user);
|
||||
$this->flightSvc->deleteFlight($flight);
|
||||
@@ -517,13 +568,13 @@ class FlightTest extends TestCase
|
||||
public function testAirportDistance()
|
||||
{
|
||||
// KJFK
|
||||
$fromIcao = factory(Airport::class)->create([
|
||||
$fromIcao = Airport::factory()->create([
|
||||
'lat' => 40.6399257,
|
||||
'lon' => -73.7786950,
|
||||
]);
|
||||
|
||||
// KSFO
|
||||
$toIcao = factory(Airport::class)->create([
|
||||
$toIcao = Airport::factory()->create([
|
||||
'lat' => 37.6188056,
|
||||
'lon' => -122.3754167,
|
||||
]);
|
||||
@@ -536,17 +587,17 @@ class FlightTest extends TestCase
|
||||
|
||||
public function testAirportDistanceApi()
|
||||
{
|
||||
$user = factory(User::class)->create();
|
||||
$user = User::factory()->create();
|
||||
$headers = $this->headers($user);
|
||||
|
||||
// KJFK
|
||||
$fromIcao = factory(Airport::class)->create([
|
||||
$fromIcao = Airport::factory()->create([
|
||||
'lat' => 40.6399257,
|
||||
'lon' => -73.7786950,
|
||||
]);
|
||||
|
||||
// KSFO
|
||||
$toIcao = factory(Airport::class)->create([
|
||||
$toIcao = Airport::factory()->create([
|
||||
'lat' => 37.6188056,
|
||||
'lon' => -122.3754167,
|
||||
]);
|
||||
|
||||
@@ -48,7 +48,7 @@ class GeoTest extends TestCase
|
||||
|
||||
$route = [];
|
||||
$nav_count = random_int(5, 20);
|
||||
$navpoints = factory(Navdata::class, $nav_count)->create();
|
||||
$navpoints = Navdata::factory()->count($nav_count)->create();
|
||||
foreach ($navpoints as $point) {
|
||||
$route[] = $point->id;
|
||||
}
|
||||
|
||||
@@ -54,18 +54,18 @@ class ImporterTest extends TestCase
|
||||
'name' => 'phpVMS Airlines',
|
||||
];
|
||||
|
||||
$airline = factory(Airline::class)->create($al);
|
||||
$subfleet = factory(Subfleet::class)->create(['type' => 'A32X']);
|
||||
$airline = Airline::factory()->create($al);
|
||||
$subfleet = Subfleet::factory()->create(['type' => 'A32X']);
|
||||
|
||||
// Add the economy class
|
||||
$fare_economy = factory(Fare::class)->create(['code' => 'Y', 'capacity' => 150]);
|
||||
$fare_economy = Fare::factory()->create(['code' => 'Y', 'capacity' => 150]);
|
||||
$fare_svc->setForSubfleet($subfleet, $fare_economy);
|
||||
|
||||
$fare_business = factory(Fare::class)->create(['code' => 'B', 'capacity' => 20]);
|
||||
$fare_business = Fare::factory()->create(['code' => 'B', 'capacity' => 20]);
|
||||
$fare_svc->setForSubfleet($subfleet, $fare_business);
|
||||
|
||||
// Add first class
|
||||
$fare_first = factory(Fare::class)->create(['code' => 'F', 'capacity' => 10]);
|
||||
$fare_first = Fare::factory()->create(['code' => 'F', 'capacity' => 10]);
|
||||
$fare_svc->setForSubfleet($subfleet, $fare_first);
|
||||
|
||||
return [$airline, $subfleet];
|
||||
@@ -258,7 +258,7 @@ class ImporterTest extends TestCase
|
||||
*/
|
||||
public function testAircraftExporter(): void
|
||||
{
|
||||
$aircraft = factory(Aircraft::class)->create();
|
||||
$aircraft = Aircraft::factory()->create();
|
||||
|
||||
$exporter = new AircraftExporter();
|
||||
$exported = $exporter->export($aircraft);
|
||||
@@ -271,7 +271,10 @@ class ImporterTest extends TestCase
|
||||
|
||||
$importer = app(ImportService::class);
|
||||
$exporter = app(ExportService::class);
|
||||
$file = $exporter->exportAircraft(collect([$aircraft]));
|
||||
|
||||
$collection = collect([$aircraft]);
|
||||
$file = $exporter->exportAircraft($collection);
|
||||
|
||||
$status = $importer->importAircraft($file);
|
||||
$this->assertCount(1, $status['success']);
|
||||
$this->assertCount(0, $status['errors']);
|
||||
@@ -284,7 +287,7 @@ class ImporterTest extends TestCase
|
||||
{
|
||||
$airport_name = 'Adolfo Suárez Madrid–Barajas Airport';
|
||||
|
||||
$airport = factory(Airport::class)->create([
|
||||
$airport = Airport::factory()->create([
|
||||
'name' => $airport_name,
|
||||
]);
|
||||
|
||||
@@ -312,12 +315,12 @@ class ImporterTest extends TestCase
|
||||
$fareSvc = app(FareService::class);
|
||||
|
||||
[$airline, $subfleet] = $this->insertFlightsScaffoldData();
|
||||
$subfleet2 = factory(Subfleet::class)->create(['type' => 'B74X']);
|
||||
$subfleet2 = Subfleet::factory()->create(['type' => 'B74X']);
|
||||
|
||||
$fareY = Fare::where('code', 'Y')->first();
|
||||
$fareF = Fare::where('code', 'F')->first();
|
||||
|
||||
$flight = factory(Flight::class)->create([
|
||||
$flight = Flight::factory()->create([
|
||||
'airline_id' => $airline->id,
|
||||
'flight_type' => 'J',
|
||||
'days' => Days::getDaysMask([
|
||||
@@ -388,6 +391,20 @@ class ImporterTest extends TestCase
|
||||
$this->assertCount(0, $status['errors']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws \League\Csv\CannotInsertRecord
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testExpenseExporter(): void
|
||||
{
|
||||
$expenses = Expense::factory(10)->create();
|
||||
|
||||
/** @var ExportService $exporter */
|
||||
$exporter = app(ExportService::class);
|
||||
$exporter->exportExpenses($expenses);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the importing of expenses
|
||||
*
|
||||
@@ -395,9 +412,9 @@ class ImporterTest extends TestCase
|
||||
*/
|
||||
public function testExpenseImporter(): void
|
||||
{
|
||||
$airline = factory(Airline::class)->create(['icao' => 'VMS']);
|
||||
$subfleet = factory(Subfleet::class)->create(['type' => '744-3X-RB211']);
|
||||
$aircraft = factory(Aircraft::class)->create([
|
||||
$airline = Airline::factory()->create(['icao' => 'VMS']);
|
||||
$subfleet = Subfleet::factory()->create(['type' => '744-3X-RB211']);
|
||||
$aircraft = Aircraft::factory()->create([
|
||||
'subfleet_id' => $subfleet->id,
|
||||
'registration' => '001Z',
|
||||
]);
|
||||
@@ -497,7 +514,7 @@ class ImporterTest extends TestCase
|
||||
$this->assertEquals('0810 CST', $flight->dpt_time);
|
||||
$this->assertEquals('1235 EST', $flight->arr_time);
|
||||
$this->assertEquals('350', $flight->level);
|
||||
$this->assertEquals(1477, $flight->distance);
|
||||
$this->assertEquals(1477, $flight->distance->internal());
|
||||
$this->assertEquals('207', $flight->flight_time);
|
||||
$this->assertEquals(FlightType::SCHED_PAX, $flight->flight_type);
|
||||
$this->assertEquals('ILEXY2 ZENZI LFK ELD J29 MEM Q29 JHW J70 STENT J70 MAGIO J70 LVZ LENDY6', $flight->route);
|
||||
@@ -586,8 +603,8 @@ class ImporterTest extends TestCase
|
||||
*/
|
||||
public function testAircraftImporter(): void
|
||||
{
|
||||
factory(Airline::class)->create();
|
||||
// $subfleet = factory(\App\Models\Subfleet::class)->create(['type' => 'A32X']);
|
||||
Airline::factory()->create();
|
||||
// $subfleet = \App\Models\Subfleet::factory()->create(['type' => 'A32X']);
|
||||
|
||||
$file_path = base_path('tests/data/aircraft.csv');
|
||||
$status = $this->importSvc->importAircraft($file_path);
|
||||
@@ -672,9 +689,9 @@ class ImporterTest extends TestCase
|
||||
*/
|
||||
public function testSubfleetImporter(): void
|
||||
{
|
||||
$fare_economy = factory(Fare::class)->create(['code' => 'Y', 'capacity' => 150]);
|
||||
$fare_business = factory(Fare::class)->create(['code' => 'B', 'capacity' => 20]);
|
||||
$airline = factory(Airline::class)->create(['icao' => 'VMS']);
|
||||
$fare_economy = Fare::factory()->create(['code' => 'Y', 'capacity' => 150]);
|
||||
$fare_business = Fare::factory()->create(['code' => 'B', 'capacity' => 20]);
|
||||
$airline = Airline::factory()->create(['icao' => 'VMS']);
|
||||
|
||||
$file_path = base_path('tests/data/subfleets.csv');
|
||||
$status = $this->importSvc->importSubfleets($file_path);
|
||||
|
||||
@@ -27,10 +27,10 @@ class NewsTest extends TestCase
|
||||
public function testNewsNotifications()
|
||||
{
|
||||
/** @var User[] $users */
|
||||
$users_opt_in = factory(User::class, 5)->create(['opt_in' => true]);
|
||||
$users_opt_in = User::factory()->count(5)->create(['opt_in' => true]);
|
||||
|
||||
/** @var User[] $users */
|
||||
$users_opt_out = factory(User::class, 5)->create(['opt_in' => false]);
|
||||
$users_opt_out = User::factory()->count(5)->create(['opt_in' => false]);
|
||||
|
||||
$this->newsSvc->addNews([
|
||||
'user_id' => $users_opt_out[0]->id,
|
||||
|
||||
@@ -13,6 +13,8 @@ use App\Models\Navdata;
|
||||
use App\Models\Pirep;
|
||||
use App\Models\Rank;
|
||||
use App\Models\User;
|
||||
use App\Notifications\Messages\Broadcast\PirepPrefiled;
|
||||
use App\Notifications\Messages\Broadcast\PirepStatusChanged;
|
||||
use App\Notifications\Messages\PirepAccepted;
|
||||
use App\Notifications\Messages\PirepFiled;
|
||||
use App\Repositories\SettingRepository;
|
||||
@@ -45,7 +47,7 @@ class PIREPTest extends TestCase
|
||||
protected function createNewRoute()
|
||||
{
|
||||
$route = [];
|
||||
$navpoints = factory(Navdata::class, 5)->create();
|
||||
$navpoints = Navdata::factory()->count(5)->create();
|
||||
foreach ($navpoints as $point) {
|
||||
$route[] = $point->id;
|
||||
}
|
||||
@@ -72,10 +74,10 @@ class PIREPTest extends TestCase
|
||||
*/
|
||||
public function testAddPirep()
|
||||
{
|
||||
$user = factory(User::class)->create();
|
||||
$user = User::factory()->create();
|
||||
|
||||
$route = $this->createNewRoute();
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'user_id' => $user->id,
|
||||
'route' => implode(' ', $route),
|
||||
]);
|
||||
@@ -109,7 +111,7 @@ class PIREPTest extends TestCase
|
||||
|
||||
// Also check via API:
|
||||
$this->get('/api/fleet/aircraft/'.$pirep->aircraft_id, [], $user)
|
||||
->assertJson(['data' => ['airport_id' => $pirep->arr_airport_id]]);
|
||||
->assertJson(['data' => ['airport_id' => $pirep->arr_airport_id]]);
|
||||
|
||||
// Make sure a notification was sent out to both the user and the admin(s)
|
||||
Notification::assertSentTo([$user], PirepAccepted::class);
|
||||
@@ -166,18 +168,30 @@ class PIREPTest extends TestCase
|
||||
|
||||
// Check that it has the fuel units
|
||||
$this->assertHasKeys($body['block_fuel'], ['lbs', 'kg']);
|
||||
$this->assertEquals(round($pirep->block_fuel), round($body['block_fuel']['lbs']));
|
||||
$this->assertEquals(
|
||||
round($pirep->block_fuel->toUnit('lbs')),
|
||||
round($body['block_fuel']['lbs'])
|
||||
);
|
||||
|
||||
$this->assertHasKeys($body['fuel_used'], ['lbs', 'kg']);
|
||||
$this->assertEquals(round($pirep->fuel_used), round($body['fuel_used']['lbs']));
|
||||
$this->assertEquals(
|
||||
round($pirep->fuel_used->toUnit('lbs')),
|
||||
round($body['fuel_used']['lbs'])
|
||||
);
|
||||
|
||||
// Check that it has the distance units
|
||||
$this->assertHasKeys($body['distance'], ['km', 'nmi', 'mi']);
|
||||
$this->assertEquals(round($pirep->distance), round($body['distance']['nmi']));
|
||||
$this->assertEquals(
|
||||
round($pirep->distance->toUnit('nmi')),
|
||||
round($body['distance']['nmi'])
|
||||
);
|
||||
|
||||
// Check the planned_distance field
|
||||
$this->assertHasKeys($body['planned_distance'], ['km', 'nmi', 'mi']);
|
||||
$this->assertEquals(round($pirep->planned_distance), round($body['planned_distance']['nmi']));
|
||||
$this->assertEquals(
|
||||
round($pirep->planned_distance->toUnit('nmi')),
|
||||
round($body['planned_distance']['nmi'])
|
||||
);
|
||||
|
||||
//Check conversion on save
|
||||
$val = random_int(1000, 9999999);
|
||||
@@ -185,45 +199,51 @@ class PIREPTest extends TestCase
|
||||
$pirep->fuel_used = $val;
|
||||
|
||||
// no conversion with plain numbers
|
||||
$this->assertEquals($pirep->block_fuel, $val);
|
||||
$this->assertEquals($pirep->fuel_used, $val);
|
||||
$this->assertEquals($pirep->block_fuel->internal(2), $val);
|
||||
$this->assertEquals($pirep->fuel_used->internal(2), $val);
|
||||
|
||||
// no conversion with lbs
|
||||
$pirep->block_fuel = new Fuel($val, 'lbs');
|
||||
$this->assertEquals(round($pirep->block_fuel), round($val));
|
||||
$this->assertEquals($pirep->block_fuel->internal(2), round($val, 2));
|
||||
|
||||
$pirep->fuel_used = new Fuel($val, 'lbs');
|
||||
$this->assertEquals(round($pirep->fuel_used), round($val));
|
||||
$this->assertEquals($pirep->fuel_used->internal(2), round($val, 2));
|
||||
|
||||
// conversion of kg to lbs
|
||||
$pirep->block_fuel = new Fuel($val, 'kg');
|
||||
$this->assertEquals(round($pirep->block_fuel), round((new Fuel($val, 'kg'))->toUnit('lbs')));
|
||||
$this->assertEquals(
|
||||
$pirep->block_fuel->internal(2),
|
||||
Fuel::make($val, 'kg')->toUnit('lbs', 2)
|
||||
);
|
||||
|
||||
$pirep->fuel_used = new Fuel($val, 'kg');
|
||||
$this->assertEquals(round($pirep->fuel_used), round((new Fuel($val, 'kg'))->toUnit('lbs')));
|
||||
$this->assertEquals(
|
||||
$pirep->fuel_used->internal(2),
|
||||
Fuel::make($val, 'kg')->toUnit('lbs', 2)
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetUserPireps()
|
||||
{
|
||||
$this->user = factory(User::class)->create();
|
||||
$pirep_done = factory(Pirep::class)->create([
|
||||
$this->user = User::factory()->create();
|
||||
$pirep_done = Pirep::factory()->create([
|
||||
'user_id' => $this->user->id,
|
||||
'state' => PirepState::ACCEPTED,
|
||||
]);
|
||||
|
||||
$pirep_in_progress = factory(Pirep::class)->create([
|
||||
$pirep_in_progress = Pirep::factory()->create([
|
||||
'user_id' => $this->user->id,
|
||||
'state' => PirepState::IN_PROGRESS,
|
||||
]);
|
||||
|
||||
$pirep_cancelled = factory(Pirep::class)->create([
|
||||
$pirep_cancelled = Pirep::factory()->create([
|
||||
'user_id' => $this->user->id,
|
||||
'state' => PirepState::CANCELLED,
|
||||
]);
|
||||
|
||||
$pireps = $this->get('/api/user/pireps')
|
||||
->assertStatus(200)
|
||||
->json();
|
||||
->assertStatus(200)
|
||||
->json();
|
||||
|
||||
$pirep_ids = collect($pireps['data'])->pluck('id');
|
||||
|
||||
@@ -250,7 +270,7 @@ class PIREPTest extends TestCase
|
||||
public function testPirepNotifications()
|
||||
{
|
||||
/** @var User $user */
|
||||
$user = factory(User::class)->create([
|
||||
$user = User::factory()->create([
|
||||
'name' => 'testPirepNotifications user',
|
||||
'flights' => 0,
|
||||
'flight_time' => 0,
|
||||
@@ -259,7 +279,7 @@ class PIREPTest extends TestCase
|
||||
|
||||
$admin = $this->createAdminUser(['name' => 'testPirepNotifications Admin']);
|
||||
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'airline_id' => 1,
|
||||
'user_id' => $user->id,
|
||||
]);
|
||||
@@ -280,14 +300,14 @@ class PIREPTest extends TestCase
|
||||
$this->updateSetting('pilots.count_transfer_hours', false);
|
||||
|
||||
/** @var User $user */
|
||||
$user = factory(User::class)->create([
|
||||
$user = User::factory()->create([
|
||||
'flights' => 0,
|
||||
'flight_time' => 0,
|
||||
'rank_id' => 1,
|
||||
]);
|
||||
|
||||
// Submit two PIREPs
|
||||
$pireps = factory(Pirep::class, 2)->create([
|
||||
$pireps = Pirep::factory()->count(2)->create([
|
||||
'airline_id' => $user->airline_id,
|
||||
'aircraft_id' => 1,
|
||||
'user_id' => $user->id,
|
||||
@@ -320,7 +340,7 @@ class PIREPTest extends TestCase
|
||||
// Submit another PIREP, adding another 6 hours
|
||||
// it should automatically be accepted
|
||||
//
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'airline_id' => 1,
|
||||
'user_id' => $user->id,
|
||||
// 120min == 2 hours, currently at 9 hours
|
||||
@@ -354,7 +374,7 @@ class PIREPTest extends TestCase
|
||||
public function testPilotDontChangeRank()
|
||||
{
|
||||
/** @var Rank $rank */
|
||||
$rank = factory(Rank::class)->create([
|
||||
$rank = Rank::factory()->create([
|
||||
'hours' => 15,
|
||||
'auto_promote' => false,
|
||||
]);
|
||||
@@ -362,14 +382,14 @@ class PIREPTest extends TestCase
|
||||
// Set the user to the above rank, non-promote, they shouldn't bump down
|
||||
|
||||
/** @var User $user */
|
||||
$user = factory(User::class)->create([
|
||||
$user = User::factory()->create([
|
||||
'flights' => 0,
|
||||
'flight_time' => 0,
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
// Submit two PIREPs
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'airline_id' => $user->airline_id,
|
||||
'aircraft_id' => 1,
|
||||
'user_id' => $user->id,
|
||||
@@ -392,7 +412,7 @@ class PIREPTest extends TestCase
|
||||
{
|
||||
$this->updateSetting('pilots.count_transfer_hours', true);
|
||||
|
||||
$user = factory(User::class)->create([
|
||||
$user = User::factory()->create([
|
||||
'flights' => 0,
|
||||
'flight_time' => 0,
|
||||
'transfer_time' => 720,
|
||||
@@ -401,7 +421,7 @@ class PIREPTest extends TestCase
|
||||
|
||||
// Submit two PIREPs
|
||||
// 1 hour flight times, but the rank should bump up because of the transfer hours
|
||||
$pireps = factory(Pirep::class, 2)->create([
|
||||
$pireps = Pirep::factory()->count(2)->create([
|
||||
'airline_id' => $user->airline_id,
|
||||
'aircraft_id' => 1,
|
||||
'user_id' => $user->id,
|
||||
@@ -444,14 +464,14 @@ class PIREPTest extends TestCase
|
||||
public function testPilotStatusChange()
|
||||
{
|
||||
/** @var \App\Models\User $user */
|
||||
$user = factory(User::class)->create([
|
||||
$user = User::factory()->create([
|
||||
'state' => UserState::ON_LEAVE,
|
||||
]);
|
||||
|
||||
// Submit two PIREPs
|
||||
// 1 hour flight times, but the rank should bump up because of the transfer hours
|
||||
/** @var Pirep $pirep */
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'airline_id' => $user->airline_id,
|
||||
'user_id' => $user->id,
|
||||
]);
|
||||
@@ -469,8 +489,8 @@ class PIREPTest extends TestCase
|
||||
*/
|
||||
public function testDuplicatePireps()
|
||||
{
|
||||
$user = factory(User::class)->create();
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$user = User::factory()->create();
|
||||
$pirep = Pirep::factory()->create([
|
||||
'user_id' => $user->id,
|
||||
]);
|
||||
|
||||
@@ -483,7 +503,7 @@ class PIREPTest extends TestCase
|
||||
* Create a PIREP outside of the check time interval
|
||||
*/
|
||||
$minutes = setting('pireps.duplicate_check_time') + 1;
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'created_at' => Carbon::now('UTC')->subMinutes($minutes)->toDateTimeString(),
|
||||
]);
|
||||
|
||||
@@ -501,7 +521,7 @@ class PIREPTest extends TestCase
|
||||
$pirep_id = $response->json()['data']['id'];
|
||||
|
||||
$uri = '/api/pireps/'.$pirep_id.'/acars/position';
|
||||
$acars = factory(Acars::class)->make()->toArray();
|
||||
$acars = Acars::factory()->make()->toArray();
|
||||
$response = $this->post($uri, [
|
||||
'positions' => [$acars],
|
||||
]);
|
||||
@@ -515,7 +535,7 @@ class PIREPTest extends TestCase
|
||||
|
||||
// Should get a 400 when posting an ACARS update
|
||||
$uri = '/api/pireps/'.$pirep_id.'/acars/position';
|
||||
$acars = factory(Acars::class)->make()->toArray();
|
||||
$acars = Acars::factory()->make()->toArray();
|
||||
|
||||
$response = $this->post($uri, $acars);
|
||||
$response->assertStatus(400);
|
||||
@@ -529,18 +549,18 @@ class PIREPTest extends TestCase
|
||||
$bidSvc = app(BidService::class);
|
||||
$flightSvc = app(FlightService::class);
|
||||
|
||||
$user = factory(User::class)->create([
|
||||
$user = User::factory()->create([
|
||||
'flight_time' => 0,
|
||||
]);
|
||||
|
||||
$flight = factory(Flight::class)->create([
|
||||
$flight = Flight::factory()->create([
|
||||
'route_code' => null,
|
||||
'route_leg' => null,
|
||||
]);
|
||||
|
||||
$bidSvc->addBid($flight, $user);
|
||||
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'user_id' => $user->id,
|
||||
'airline_id' => $flight->airline_id,
|
||||
'flight_id' => $flight->id,
|
||||
@@ -557,4 +577,39 @@ class PIREPTest extends TestCase
|
||||
|
||||
$this->assertNull($user_bid);
|
||||
}
|
||||
|
||||
/**
|
||||
* See that the notifications are properly formatted
|
||||
*/
|
||||
public function testNotificationFormatting()
|
||||
{
|
||||
$this->updateSetting('units.distance', 'km');
|
||||
|
||||
/** @var User $user */
|
||||
$user = User::factory()->create();
|
||||
|
||||
/** @var Pirep $pirep */
|
||||
$pirep = Pirep::factory()->create([
|
||||
'user_id' => $user->id,
|
||||
'distance' => 100,
|
||||
'planned_distance' => 200,
|
||||
'flight_time' => 60,
|
||||
'planned_flight_time' => 90,
|
||||
]);
|
||||
|
||||
$discordNotif = new PirepPrefiled($pirep);
|
||||
$fields = $discordNotif->createFields($pirep);
|
||||
$this->assertEquals('1h 30m', $fields['Flight Time (Planned)']);
|
||||
$this->assertEquals('370.4 km', $fields['Distance']);
|
||||
|
||||
$discordNotif = new PirepStatusChanged($pirep);
|
||||
$fields = $discordNotif->createFields($pirep);
|
||||
$this->assertEquals('1h 0m', $fields['Flight Time']);
|
||||
$this->assertEquals('185.2/370.4 km', $fields['Distance']);
|
||||
|
||||
$discordNotif = new \App\Notifications\Messages\Broadcast\PirepFiled($pirep);
|
||||
$fields = $discordNotif->createFields($pirep);
|
||||
$this->assertEquals('1h 0m', $fields['Flight Time']);
|
||||
$this->assertEquals('185.2 km', $fields['Distance']);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ class RegistrationTest extends TestCase
|
||||
|
||||
$this->updateSetting('pilots.auto_accept', true);
|
||||
|
||||
$attrs = factory(User::class)->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$attrs = User::factory()->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$attrs['password'] = Hash::make('secret');
|
||||
$user = $userSvc->createUser($attrs);
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ class SimBriefTest extends TestCase
|
||||
$rank = $this->createRank(2, [$subfleet['subfleet']->id]);
|
||||
|
||||
/** @var User $user */
|
||||
$user = factory(User::class)->create(array_merge([
|
||||
$user = User::factory()->create(array_merge([
|
||||
'flight_time' => 1000,
|
||||
'rank_id' => $rank->id,
|
||||
'state' => UserState::ACTIVE,
|
||||
@@ -62,7 +62,7 @@ class SimBriefTest extends TestCase
|
||||
}
|
||||
|
||||
/** @var \App\Models\Flight $flight */
|
||||
$flight = factory(Flight::class)->create([
|
||||
$flight = Flight::factory()->create([
|
||||
'id' => $flight_id,
|
||||
'dpt_airport_id' => 'OMAA',
|
||||
'arr_airport_id' => 'OMDB',
|
||||
@@ -244,7 +244,7 @@ class SimBriefTest extends TestCase
|
||||
];
|
||||
|
||||
/** @var \App\Models\Flight $flight */
|
||||
$flight = factory(Flight::class)->create();
|
||||
$flight = Flight::factory()->create();
|
||||
|
||||
// Create two briefings and make sure it doesn't leak
|
||||
$userinfo2 = $this->createUserData();
|
||||
@@ -285,7 +285,7 @@ class SimBriefTest extends TestCase
|
||||
$this->user = $userinfo['user'];
|
||||
|
||||
/** @var Pirep $pirep */
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'user_id' => $this->user->id,
|
||||
'dpt_airport_id' => 'OMAA',
|
||||
'arr_airport_id' => 'OMDB',
|
||||
@@ -332,14 +332,14 @@ class SimBriefTest extends TestCase
|
||||
$userinfo = $this->createUserData();
|
||||
$user = $userinfo['user'];
|
||||
|
||||
$sb_ignored = factory(SimBrief::class)->create([
|
||||
$sb_ignored = SimBrief::factory()->create([
|
||||
'user_id' => $user->id,
|
||||
'flight_id' => 'a_flight_id',
|
||||
'pirep_id' => 'a_pirep_id',
|
||||
'created_at' => Carbon::now('UTC')->subDays(6),
|
||||
]);
|
||||
|
||||
factory(SimBrief::class)->create([
|
||||
SimBrief::factory()->create([
|
||||
'user_id' => $user->id,
|
||||
'flight_id' => 'a_flight_Id',
|
||||
'created_at' => Carbon::now('UTC')->subDays(6),
|
||||
|
||||
@@ -27,7 +27,7 @@ class SubfleetTest extends TestCase
|
||||
$subfleet = $subfleet_aircraft['subfleet'];
|
||||
|
||||
/** @var \App\Models\Fare $fare */
|
||||
$fare = factory(Fare::class)->create();
|
||||
$fare = Fare::factory()->create();
|
||||
|
||||
$fare_svc->setForSubfleet($subfleet, $fare);
|
||||
$subfleet_fares = $fare_svc->getForSubfleet($subfleet);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace Tests;
|
||||
|
||||
use App\Contracts\Factory;
|
||||
use App\Contracts\Unit;
|
||||
use App\Exceptions\Handler;
|
||||
use App\Repositories\SettingRepository;
|
||||
@@ -62,6 +63,10 @@ abstract class TestCase extends \Illuminate\Foundation\Testing\TestCase
|
||||
|
||||
Notification::fake();
|
||||
// $this->disableExceptionHandling();
|
||||
|
||||
Factory::guessFactoryNamesUsing(function (string $modelName) {
|
||||
return 'App\\Database\\Factories\\'.class_basename($modelName).'Factory';
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -274,6 +279,8 @@ abstract class TestCase extends \Illuminate\Foundation\Testing\TestCase
|
||||
$data[$key] = $value->format(DATE_ATOM);
|
||||
} elseif ($value instanceof Carbon) {
|
||||
$data[$key] = $value->toIso8601ZuluString();
|
||||
} elseif ($value instanceof Unit) {
|
||||
$data[$key] = (float) $value->internal(2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ trait TestData
|
||||
$subfleet = $this->createSubfleetWithAircraft(1);
|
||||
$rank = $this->createRank(2, [$subfleet['subfleet']->id]);
|
||||
|
||||
return factory(User::class)->create(array_merge([
|
||||
return User::factory()->create(array_merge([
|
||||
'flight_time' => 1000,
|
||||
'rank_id' => $rank->id,
|
||||
'state' => UserState::ACTIVE,
|
||||
@@ -43,7 +43,7 @@ trait TestData
|
||||
public function createAdminUser(array $attrs = []): User
|
||||
{
|
||||
/** @var User $admin */
|
||||
$admin = factory(User::class)->create($attrs);
|
||||
$admin = User::factory()->create($attrs);
|
||||
|
||||
/** @var UserService $userSvc */
|
||||
$userSvc = app(UserService::class);
|
||||
@@ -69,12 +69,12 @@ trait TestData
|
||||
$rank = $this->createRank(10, [$subfleet['subfleet']->id]);
|
||||
|
||||
/** @var User user */
|
||||
$this->user = factory(User::class)->create(array_merge([
|
||||
$this->user = User::factory()->create(array_merge([
|
||||
'rank_id' => $rank->id,
|
||||
], $user_attrs));
|
||||
|
||||
// Return a Pirep model
|
||||
return factory(Pirep::class)->make(array_merge([
|
||||
return Pirep::factory()->make(array_merge([
|
||||
'user_id' => $this->user->id,
|
||||
'aircraft_id' => $subfleet['aircraft']->random()->id,
|
||||
], $pirep_attrs));
|
||||
@@ -96,7 +96,7 @@ trait TestData
|
||||
$attrs['hours'] = $hours;
|
||||
}
|
||||
|
||||
$rank = factory(\App\Models\Rank::class)->create($attrs);
|
||||
$rank = \App\Models\Rank::factory()->create($attrs);
|
||||
if (!empty($subfleet_ids)) {
|
||||
$rank->subfleets()->syncWithoutDetaching($subfleet_ids);
|
||||
}
|
||||
@@ -118,10 +118,10 @@ trait TestData
|
||||
'airline_id' => $user->airline_id,
|
||||
], $flight_properties);
|
||||
|
||||
$flight = factory(Flight::class)->create($opts);
|
||||
$flight = Flight::factory()->create($opts);
|
||||
|
||||
$flight->subfleets()->syncWithoutDetaching([
|
||||
factory(Subfleet::class)->create([
|
||||
Subfleet::factory()->create([
|
||||
'airline_id' => $user->airline_id,
|
||||
])->id,
|
||||
]);
|
||||
@@ -139,7 +139,7 @@ trait TestData
|
||||
*/
|
||||
public function addFlightsForSubfleet($subfleet, $num_flights)
|
||||
{
|
||||
return factory(Flight::class, $num_flights)->create([
|
||||
return Flight::factory()->count($num_flights)->create([
|
||||
'airline_id' => $subfleet->airline->id,
|
||||
])->each(function (Flight $f) use ($subfleet) {
|
||||
$f->subfleets()->syncWithoutDetaching([$subfleet->id]);
|
||||
@@ -160,7 +160,7 @@ trait TestData
|
||||
public function createSubfleetWithAircraft($aircraft_count = null, $airport_id = null)
|
||||
{
|
||||
/** @var Subfleet $subfleet */
|
||||
$subfleet = factory(Subfleet::class)->create([
|
||||
$subfleet = Subfleet::factory()->create([
|
||||
'ground_handling_multiplier' => '100',
|
||||
]);
|
||||
|
||||
@@ -168,7 +168,7 @@ trait TestData
|
||||
$aircraft_count = \random_int(2, 10);
|
||||
}
|
||||
|
||||
$aircraft = factory(Aircraft::class, $aircraft_count)->create([
|
||||
$aircraft = Aircraft::factory()->count($aircraft_count)->create([
|
||||
'subfleet_id' => $subfleet->id,
|
||||
'airport_id' => $airport_id,
|
||||
]);
|
||||
@@ -188,6 +188,6 @@ trait TestData
|
||||
*/
|
||||
public function createRole(array $attrs = []): Role
|
||||
{
|
||||
return factory(Role::class)->create($attrs);
|
||||
return Role::factory()->create($attrs);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ class UserTest extends TestCase
|
||||
|
||||
$rank = $this->createRank(10, [$subfleetA['subfleet']->id]);
|
||||
|
||||
$user = factory(User::class)->create([
|
||||
$user = User::factory()->create([
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
@@ -100,7 +100,7 @@ class UserTest extends TestCase
|
||||
$subfleetA = $this->createSubfleetWithAircraft();
|
||||
$subfleetB = $this->createSubfleetWithAircraft();
|
||||
|
||||
$fare = factory(Fare::class)->create([
|
||||
$fare = Fare::factory()->create([
|
||||
'price' => 20,
|
||||
'capacity' => 200,
|
||||
]);
|
||||
@@ -119,7 +119,7 @@ class UserTest extends TestCase
|
||||
|
||||
$rank = $this->createRank(10, [$subfleetA['subfleet']->id]);
|
||||
|
||||
$user = factory(User::class)->create([
|
||||
$user = User::factory()->create([
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
@@ -175,17 +175,17 @@ class UserTest extends TestCase
|
||||
{
|
||||
// Add subfleets and aircraft, but also add another
|
||||
// set of subfleets
|
||||
$airport = factory(\App\Models\Airport::class)->create();
|
||||
$airport = \App\Models\Airport::factory()->create();
|
||||
$subfleetA = $this->createSubfleetWithAircraft(2, $airport->id);
|
||||
$subfleetB = $this->createSubfleetWithAircraft(2);
|
||||
|
||||
$rank = $this->createRank(10, [$subfleetA['subfleet']->id]);
|
||||
$user = factory(User::class)->create([
|
||||
$user = User::factory()->create([
|
||||
'curr_airport_id' => $airport->id,
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
$flight = factory(\App\Models\Flight::class)->create([
|
||||
$flight = \App\Models\Flight::factory()->create([
|
||||
'airline_id' => $user->airline_id,
|
||||
'dpt_airport_id' => $airport->id,
|
||||
]);
|
||||
@@ -240,8 +240,8 @@ class UserTest extends TestCase
|
||||
public function testUserPilotIdChangeAlreadyExists()
|
||||
{
|
||||
$this->expectException(UserPilotIdExists::class);
|
||||
$user1 = factory(User::class)->create(['id' => 1]);
|
||||
$user2 = factory(User::class)->create(['id' => 2]);
|
||||
$user1 = User::factory()->create(['id' => 1]);
|
||||
$user2 = User::factory()->create(['id' => 2]);
|
||||
|
||||
// Now try to change the original user's pilot_id to 2 (should conflict)
|
||||
$this->userSvc->changePilotId($user1, 2);
|
||||
@@ -253,7 +253,7 @@ class UserTest extends TestCase
|
||||
public function testUserPilotIdSplit(): void
|
||||
{
|
||||
/** @var User $user */
|
||||
$user = factory(User::class)->create();
|
||||
$user = User::factory()->create();
|
||||
$found_user = $this->userSvc->findUserByPilotId($user->ident);
|
||||
$this->assertEquals($user->id, $found_user->id);
|
||||
|
||||
@@ -268,7 +268,7 @@ class UserTest extends TestCase
|
||||
public function testUserPilotIdSplitInvalidId(): void
|
||||
{
|
||||
/** @var User $user */
|
||||
$user = factory(User::class)->create();
|
||||
$user = User::factory()->create();
|
||||
|
||||
$this->expectException(PilotIdNotFound::class);
|
||||
$this->userSvc->findUserByPilotId($user->airline->iata);
|
||||
@@ -277,10 +277,10 @@ class UserTest extends TestCase
|
||||
public function testUserPilotIdInvalidIATA(): void
|
||||
{
|
||||
/** @var Airline $airline */
|
||||
$airline = factory(Airline::class)->create(['icao' => 'ABC', 'iata' => null]);
|
||||
$airline = Airline::factory()->create(['icao' => 'ABC', 'iata' => null]);
|
||||
|
||||
/** @var User $user */
|
||||
$user = factory(User::class)->create(['airline_id' => $airline->id]);
|
||||
$user = User::factory()->create(['airline_id' => $airline->id]);
|
||||
|
||||
$this->expectException(PilotIdNotFound::class);
|
||||
$this->userSvc->findUserByPilotId('123');
|
||||
@@ -291,13 +291,13 @@ class UserTest extends TestCase
|
||||
*/
|
||||
public function testUserPilotIdAdded()
|
||||
{
|
||||
$new_user = factory(User::class)->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$new_user = User::factory()->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$new_user['password'] = Hash::make('secret');
|
||||
$user = $this->userSvc->createUser($new_user);
|
||||
$this->assertEquals($user->id, $user->pilot_id);
|
||||
|
||||
// Add a second user
|
||||
$new_user = factory(User::class)->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$new_user = User::factory()->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$new_user['password'] = Hash::make('secret');
|
||||
$user2 = $this->userSvc->createUser($new_user);
|
||||
$this->assertEquals($user2->id, $user2->pilot_id);
|
||||
@@ -307,17 +307,17 @@ class UserTest extends TestCase
|
||||
$this->assertEquals(3, $user->pilot_id);
|
||||
|
||||
// Create a new user and the pilot_id should be 4
|
||||
$user3 = factory(User::class)->create();
|
||||
$user3 = User::factory()->create();
|
||||
$this->assertEquals(4, $user3->pilot_id);
|
||||
}
|
||||
|
||||
public function testUserPilotDeleted()
|
||||
{
|
||||
$new_user = factory(User::class)->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$new_user = User::factory()->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$new_user['password'] = Hash::make('secret');
|
||||
$admin_user = $this->userSvc->createUser($new_user);
|
||||
|
||||
$new_user = factory(User::class)->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$new_user = User::factory()->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$new_user['password'] = Hash::make('secret');
|
||||
$user = $this->userSvc->createUser($new_user);
|
||||
$this->assertEquals($user->id, $user->pilot_id);
|
||||
@@ -335,17 +335,17 @@ class UserTest extends TestCase
|
||||
|
||||
public function testUserPilotDeletedWithPireps()
|
||||
{
|
||||
$new_user = factory(User::class)->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$new_user = User::factory()->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$new_user['password'] = Hash::make('secret');
|
||||
$admin_user = $this->userSvc->createUser($new_user);
|
||||
|
||||
$new_user = factory(User::class)->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$new_user = User::factory()->make()->makeVisible(['api_key', 'name', 'email'])->toArray();
|
||||
$new_user['password'] = Hash::make('secret');
|
||||
$user = $this->userSvc->createUser($new_user);
|
||||
$this->assertEquals($user->id, $user->pilot_id);
|
||||
|
||||
/** @var Pirep $pirep */
|
||||
factory(Pirep::class)->create([
|
||||
Pirep::factory()->create([
|
||||
'user_id' => $user->id,
|
||||
]);
|
||||
|
||||
@@ -369,7 +369,8 @@ class UserTest extends TestCase
|
||||
$vals = [
|
||||
'Firstname' => 'Firstname',
|
||||
'Firstname Lastname' => 'Firstname L',
|
||||
'Firstname Middlename Lastname' => 'Firstname L',
|
||||
'Firstname Middlename Lastname' => 'Firstname Middlename L',
|
||||
'First Mid1 mid2 last' => 'First Mid1 Mid2 L',
|
||||
];
|
||||
|
||||
foreach ($vals as $input => $expected) {
|
||||
@@ -401,7 +402,7 @@ class UserTest extends TestCase
|
||||
|
||||
// Give that user a new PIREP, still old
|
||||
/** @var Pirep $pirep */
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'user_id' => $user->id,
|
||||
'created_at' => Carbon::now('UTC')->subDays(5),
|
||||
'submitted_at' => Carbon::now('UTC')->subDays(5),
|
||||
@@ -417,7 +418,7 @@ class UserTest extends TestCase
|
||||
|
||||
// Create a new PIREP
|
||||
/** @var Pirep $pirep */
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
$pirep = Pirep::factory()->create([
|
||||
'user_id' => $user->id,
|
||||
'created_at' => Carbon::now('UTC'),
|
||||
'submitted_at' => Carbon::now('UTC'),
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace Tests;
|
||||
|
||||
use App\Repositories\KvpRepository;
|
||||
use App\Support\ICAO;
|
||||
use App\Support\Units\Distance;
|
||||
use App\Support\Units\Time;
|
||||
use App\Support\Utils;
|
||||
use Carbon\Carbon;
|
||||
@@ -16,6 +17,51 @@ class UtilsTest extends TestCase
|
||||
$this->assertNotNull($carbon);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws \PhpUnitsOfMeasure\Exception\NonNumericValue
|
||||
* @throws \PhpUnitsOfMeasure\Exception\NonStringUnitName
|
||||
*/
|
||||
public function testUnitRounding()
|
||||
{
|
||||
$this->updateSetting('units.distance', 'km');
|
||||
|
||||
$alt = new Distance(1065.3456, 'nmi');
|
||||
|
||||
$km = $alt->toUnit('km');
|
||||
$this->assertEquals(1973.0200512, $km);
|
||||
|
||||
$km = $alt->toUnit('km', 2);
|
||||
$this->assertEquals(1973.02, $km);
|
||||
|
||||
$km = $alt->toUnit('km', 0);
|
||||
$this->assertEquals(1973, $km);
|
||||
|
||||
/*
|
||||
* Test local conversions
|
||||
*/
|
||||
|
||||
$km = $alt->local();
|
||||
$this->assertEquals(1973.0200512, $km);
|
||||
|
||||
$km = $alt->local(0);
|
||||
$this->assertEquals(1973, $km);
|
||||
|
||||
$km = $alt->local(2);
|
||||
$this->assertEquals(1973.02, $km);
|
||||
|
||||
/*
|
||||
* Internal units, shouldn't do a conversion
|
||||
*/
|
||||
$int = $alt->internal();
|
||||
$this->assertEquals(1065.3456, $int);
|
||||
|
||||
$int = $alt->internal(2);
|
||||
$this->assertEquals(1065.35, $int);
|
||||
|
||||
$int = $alt->internal(0);
|
||||
$this->assertEquals(1065, $int);
|
||||
}
|
||||
|
||||
/**
|
||||
* Simple test for KVP
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user