Add unit conversion handling for block_fuel like for fuel_used (#1076)

* Add unit conversion handling for block_fuel like for fuel_used, add further checks in PIREPTest->testUnitFields

* Remove accidentially added "use"

Co-authored-by: Andreas Palm <ap@ewsp.de>
This commit is contained in:
exciler
2021-03-15 13:30:14 +01:00
committed by GitHub
parent 73f88fce0c
commit b9e7a2efc9
3 changed files with 44 additions and 0 deletions

View File

@@ -21,6 +21,7 @@ use App\Services\BidService;
use App\Services\FlightService;
use App\Services\PirepService;
use App\Services\UserService;
use App\Support\Units\Fuel;
use Carbon\Carbon;
use Illuminate\Support\Facades\Notification;
@@ -164,6 +165,8 @@ class PIREPTest extends TestCase
$body = $response->json('data');
// Check that it has the fuel units
$this->assertHasKeys($body['block_fuel'], ['lbs', 'kg']);
$this->assertEquals($pirep->block_fuel, $body['block_fuel']['lbs']);
$this->assertHasKeys($body['fuel_used'], ['lbs', 'kg']);
$this->assertEquals($pirep->fuel_used, $body['fuel_used']['lbs']);
@@ -174,6 +177,24 @@ class PIREPTest extends TestCase
// Check the planned_distance field
$this->assertHasKeys($body['planned_distance'], ['km', 'nmi', 'mi']);
$this->assertEquals($pirep->planned_distance, $body['planned_distance']['nmi']);
//Check conversion on save
$val = random_int(1000, 9999999);
$pirep->block_fuel = $val;
$pirep->fuel_used = $val;
// no conversion with plain numbers
$this->assertEquals($pirep->block_fuel, $val);
$this->assertEquals($pirep->fuel_used, $val);
// no conversion with lbs
$pirep->block_fuel = new Fuel($val, 'lbs');
$this->assertEquals($pirep->block_fuel, $val);
$pirep->fuel_used = new Fuel($val, 'lbs');
$this->assertEquals($pirep->fuel_used, $val);
// conversion of kg to lbs
$pirep->block_fuel = new Fuel($val, 'kg');
$this->assertEquals($pirep->block_fuel, (new Fuel($val, 'kg'))->toUnit('lbs'));
$pirep->fuel_used = new Fuel($val, 'kg');
$this->assertEquals($pirep->fuel_used, (new Fuel($val, 'kg'))->toUnit('lbs'));
}
public function testGetUserPireps()