Add tests that rank shouldn't auto change (#840)
This commit is contained in:
parent
0a5194b92e
commit
c702b01a87
@ -11,6 +11,7 @@ use App\Models\Enums\UserState;
|
||||
use App\Models\Flight;
|
||||
use App\Models\Navdata;
|
||||
use App\Models\Pirep;
|
||||
use App\Models\Rank;
|
||||
use App\Models\User;
|
||||
use App\Notifications\Messages\PirepAccepted;
|
||||
use App\Notifications\Messages\PirepSubmitted;
|
||||
@ -317,6 +318,46 @@ class PIREPTest extends TestCase
|
||||
$this->assertNotEquals($last_pirep->id, $latest_pirep->id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Assign a rank to a user which is not set to auto-promote; make that that the flight
|
||||
* hours and submitted PIREP doesn't change the rank
|
||||
*
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function testPilotDontChangeRank()
|
||||
{
|
||||
/** @var Rank $rank */
|
||||
$rank = factory(Rank::class)->create([
|
||||
'hours' => 15,
|
||||
'auto_promote' => false,
|
||||
]);
|
||||
|
||||
// Set the user to the above rank, non-promote, they shouldn't bump down
|
||||
|
||||
/** @var User $user */
|
||||
$user = factory(User::class)->create([
|
||||
'flights' => 0,
|
||||
'flight_time' => 0,
|
||||
'rank_id' => $rank->id,
|
||||
]);
|
||||
|
||||
// Submit two PIREPs
|
||||
$pirep = factory(Pirep::class)->create([
|
||||
'airline_id' => $user->airline_id,
|
||||
'aircraft_id' => 1,
|
||||
'user_id' => $user->id,
|
||||
'flight_time' => 10 * 60, // 10 hours, eligible for Junior First Officer
|
||||
]);
|
||||
|
||||
$this->pirepSvc->create($pirep);
|
||||
$this->pirepSvc->accept($pirep);
|
||||
|
||||
$pilot = User::find($user->id);
|
||||
|
||||
// Make sure rank didn't change
|
||||
$this->assertEquals($rank->id, $pilot->rank_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* check the stats/ranks, etc have incremented properly
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user