Add calls and API to get user's fleet, determined by rank #35

This commit is contained in:
Nabeel Shahzad
2018-01-10 18:40:01 -06:00
parent 8aacd844b3
commit bf4e164e0d
6 changed files with 164 additions and 5 deletions

66
tests/PilotTest.php Normal file
View File

@@ -0,0 +1,66 @@
<?php
use App\Services\UserService;
use Tests\TestData;
class PilotTest extends TestCase
{
protected $userSvc;
public function setUp()
{
parent::setUp();
$this->userSvc = app(UserService::class);
}
public function testRankSubfleets()
{
# Add subfleets and aircraft, but also add another
# set of subfleets
$subfleetA = TestData::createSubfleetWithAircraft();
TestData::createSubfleetWithAircraft();
$rank = TestData::createRank(10, [$subfleetA['subfleet']->id]);
$user = factory(App\Models\User::class)->create([
'rank_id' => $rank->id,
]);
$added_aircraft = $subfleetA['aircraft']->pluck('id');
$subfleets = $this->userSvc->getAllowableSubfleets($user);
$this->assertEquals(1, $subfleets->count());
$subfleet = $subfleets[0];
$all_aircraft = $subfleet->aircraft->pluck('id');
$this->assertEquals($added_aircraft, $all_aircraft);
/**
* Check via API
*/
$resp = $this->get('/api/user/fleet', [], $user);
$body = $resp->json();
# Get the subfleet that's been added in
$subfleet_from_api = $body['data'][0];
$this->assertEquals($subfleet->id, $subfleet_from_api['id']);
# Get all the aircraft from that subfleet
$aircraft_from_api = collect($subfleet_from_api['aircraft'])->pluck('id');
$this->assertEquals($added_aircraft, $aircraft_from_api);
/**
* Check the user ID call
*/
$resp = $this->get('/api/users/'.$user->id.'/fleet', [], $user);
$body = $resp->json();
# Get the subfleet that's been added in
$subfleet_from_api = $body['data'][0];
$this->assertEquals($subfleet->id, $subfleet_from_api['id']);
# Get all the aircraft from that subfleet
$aircraft_from_api = collect($subfleet_from_api['aircraft'])->pluck('id');
$this->assertEquals($added_aircraft, $aircraft_from_api);
}
}