|
|
|
@ -8,6 +8,7 @@ use App\Models\User;
|
|
|
|
|
use App\Models\UserAward;
|
|
|
|
|
use App\Services\AwardService;
|
|
|
|
|
use App\Services\PirepService;
|
|
|
|
|
use Modules\Awards\Awards\FlightRouteAwards;
|
|
|
|
|
use Modules\Awards\Awards\PilotFlightAwards;
|
|
|
|
|
|
|
|
|
|
class AwardsTest extends TestCase
|
|
|
|
@ -69,4 +70,63 @@ class AwardsTest extends TestCase
|
|
|
|
|
$found_award = UserAward::where($w)->first();
|
|
|
|
|
$this->assertNotNull($found_award);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Test the flight route
|
|
|
|
|
*/
|
|
|
|
|
public function testFlightRouteAward()
|
|
|
|
|
{
|
|
|
|
|
/** @var \App\Models\User $user */
|
|
|
|
|
$user = factory(User::class)->create([
|
|
|
|
|
'flights' => 0,
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
/** @var \App\Models\Award $award */
|
|
|
|
|
$award = factory(Award::class)->create([
|
|
|
|
|
'ref_model' => FlightRouteAwards::class,
|
|
|
|
|
'ref_model_params' => 1,
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
/** @var Pirep $pirep */
|
|
|
|
|
$pirep = factory(Pirep::class)->create([
|
|
|
|
|
'airline_id' => $user->airline->id,
|
|
|
|
|
'user_id' => $user->id,
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$flightAward = new FlightRouteAwards($award, $user);
|
|
|
|
|
|
|
|
|
|
// Test no last PIREP for the user
|
|
|
|
|
$this->assertFalse($flightAward->check(''));
|
|
|
|
|
|
|
|
|
|
// Reinit award, add a last user PIREP id
|
|
|
|
|
$user->last_pirep_id = $pirep->id;
|
|
|
|
|
$user->save();
|
|
|
|
|
|
|
|
|
|
$flightAward = new FlightRouteAwards($award, $user);
|
|
|
|
|
$validStrs = [
|
|
|
|
|
$pirep->dpt_airport_id.':'.$pirep->arr_airport_id,
|
|
|
|
|
$pirep->dpt_airport_id.':'.$pirep->arr_airport_id.' ',
|
|
|
|
|
$pirep->dpt_airport_id.':'.$pirep->arr_airport_id.':',
|
|
|
|
|
strtolower($pirep->dpt_airport_id).':'.strtolower($pirep->arr_airport_id),
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
foreach ($validStrs as $str) {
|
|
|
|
|
$this->assertTrue($flightAward->check($str));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check error conditions
|
|
|
|
|
$errStrs = [
|
|
|
|
|
'',
|
|
|
|
|
' ',
|
|
|
|
|
':',
|
|
|
|
|
'ABCD:EDFSDF',
|
|
|
|
|
$pirep->dpt_airport_id.':',
|
|
|
|
|
':'.$pirep->arr_airport_id,
|
|
|
|
|
':'.$pirep->arr_airport_id.':',
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
foreach ($errStrs as $err) {
|
|
|
|
|
$this->assertFalse($flightAward->check($err));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|