From a38b4e063b65e2d6342de8f6ce6c7ca99782ed90 Mon Sep 17 00:00:00 2001 From: Nabeel Shahzad Date: Tue, 27 Feb 2018 13:11:48 -0600 Subject: [PATCH] Return the flight object with the bid --- app/Http/Controllers/Api/UserController.php | 12 ++++++------ app/Http/Resources/Bid.php | 16 ++++++++++++++++ tests/FlightTest.php | 6 +++--- 3 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 app/Http/Resources/Bid.php diff --git a/app/Http/Controllers/Api/UserController.php b/app/Http/Controllers/Api/UserController.php index 37f3d275..b7d41aa8 100644 --- a/app/Http/Controllers/Api/UserController.php +++ b/app/Http/Controllers/Api/UserController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Api; +use App\Http\Resources\Bid as BidResource; use App\Http\Resources\Flight as FlightResource; use App\Http\Resources\Pirep as PirepResource; use App\Http\Resources\Subfleet as SubfleetResource; @@ -103,20 +104,19 @@ class UserController extends RestController if ($request->isMethod('PUT')) { $flight_id = $request->input('flight_id'); $flight = $this->flightRepo->find($flight_id); - $this->flightSvc->addBid($flight, $user); + $bid = $this->flightSvc->addBid($flight, $user); + return new BidResource($bid); } - elseif ($request->isMethod('DELETE')) { + if ($request->isMethod('DELETE')) { $flight_id = $request->input('flight_id'); $flight = $this->flightRepo->find($flight_id); $this->flightSvc->removeBid($flight, $user); } # Return the flights they currently have bids on - $flights = UserBid::where(['user_id' => $user->id]) - ->get()->pluck('flight'); - - return FlightResource::collection($flights); + $bids = UserBid::where(['user_id' => $user->id])->get(); + return BidResource::collection($bids); } /** diff --git a/app/Http/Resources/Bid.php b/app/Http/Resources/Bid.php new file mode 100644 index 00000000..3cb1f5e4 --- /dev/null +++ b/app/Http/Resources/Bid.php @@ -0,0 +1,16 @@ +flight); + + return $bid; + } +} diff --git a/tests/FlightTest.php b/tests/FlightTest.php index 2d1c31ad..90b82a33 100644 --- a/tests/FlightTest.php +++ b/tests/FlightTest.php @@ -235,10 +235,10 @@ class FlightTest extends TestCase $uri = '/api/user/bids'; $data = ['flight_id' => $flight->id]; - $body = $this->put($uri, $data)->json('data'); + $body = $this->put($uri, $data); + $body = $body->json('data'); - $this->assertCount(1, $body); - $this->assertEquals($body[0]['id'], $flight->id); + $this->assertEquals($body['flight_id'], $flight->id); # Now try to have the second user bid on it # Should return a 409 error