update .env.example to include redis config
fix broken test
This commit is contained in:
@@ -13,5 +13,7 @@ DB_PASSWORD=jqbdui1bdb
|
||||
CACHE_DRIVER=redis
|
||||
QUEUE_DRIVER=sync
|
||||
|
||||
REDIS_HOST=redis
|
||||
REDIS_PORT=6379
|
||||
|
||||
IATACODE_API_KEY=8105c628-a86c-41af-85da-828bcf8190e0
|
||||
|
||||
@@ -35,7 +35,7 @@ class FlightController extends Controller
|
||||
public function listFlights(Request $request)
|
||||
{
|
||||
$flightCollection = Flights::all();
|
||||
|
||||
|
||||
//add pagination
|
||||
$per_page = $request->input('per_page', 10);
|
||||
$per_page = (empty($per_page)) ? 10 : $per_page;
|
||||
@@ -46,13 +46,13 @@ class FlightController extends Controller
|
||||
$per_page,
|
||||
$page
|
||||
);
|
||||
|
||||
|
||||
$result = (new Collection($paginator, new FlightTransform(), 'trips'))
|
||||
->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||
|
||||
|
||||
return $this->JsonApiResponse($result, 200);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @api {get} /flights/:id get flight
|
||||
* @apiName Get Flight
|
||||
@@ -71,16 +71,16 @@ class FlightController extends Controller
|
||||
public function getFlight(Request $request, $id)
|
||||
{
|
||||
$flight = Flights::find($id);
|
||||
|
||||
|
||||
if (! $flight) {
|
||||
return $this->returnErrorMessage("flight id $id not found", 400);
|
||||
}
|
||||
|
||||
|
||||
$result = new Item($flight, new FlightTransform(), 'flights');
|
||||
|
||||
|
||||
return $this->JsonApiResponse($result, 200);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @api {delete} /flights/:id delete a flight
|
||||
* @apiName Delete a Flight
|
||||
@@ -101,6 +101,6 @@ class FlightController extends Controller
|
||||
$deleted = $flight->delete();
|
||||
}
|
||||
|
||||
return response()->json(['message' => "flight $id has been removed"], 200);
|
||||
return response()->json('', 204);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
class FlightsCest
|
||||
{
|
||||
protected $uri = '/flights';
|
||||
|
||||
|
||||
public function _before(AcceptanceTester $I)
|
||||
{
|
||||
}
|
||||
@@ -17,127 +17,128 @@ class FlightsCest
|
||||
public function listFlightsReturnsJson(AcceptanceTester $I)
|
||||
{
|
||||
$params = [];
|
||||
|
||||
|
||||
$I->sendGET($this->uri, $params);
|
||||
$r = $I->grabResponse();
|
||||
|
||||
|
||||
$I->seeResponseCodeIs(200, $r);
|
||||
$I->seeResponseIsJson();
|
||||
}
|
||||
|
||||
|
||||
public function listFlightsReturns1ItemWhenPerPageIs1(AcceptanceTester $I)
|
||||
{
|
||||
$params = [
|
||||
'page' => 1,
|
||||
'per_page' => 1
|
||||
];
|
||||
|
||||
|
||||
$I->sendGET($this->uri, $params);
|
||||
$r = $I->grabResponse();
|
||||
|
||||
|
||||
$I->seeResponseCodeIs(200, $r);
|
||||
$I->seeResponseIsJson();
|
||||
|
||||
|
||||
$data = json_decode($r);
|
||||
$I->assertCount(1, $data->data, json_encode($data));
|
||||
}
|
||||
|
||||
|
||||
public function listFlightsReturns2ItemWhenPerPageIs2(AcceptanceTester $I)
|
||||
{
|
||||
$params = [
|
||||
'page' => 1,
|
||||
'per_page' => 2
|
||||
];
|
||||
|
||||
|
||||
$I->sendGET($this->uri, $params);
|
||||
$r = $I->grabResponse();
|
||||
|
||||
|
||||
$I->seeResponseCodeIs(200, $r);
|
||||
$I->seeResponseIsJson();
|
||||
|
||||
|
||||
$data = json_decode($r);
|
||||
$I->assertCount(2, $data->data, json_encode($data));
|
||||
}
|
||||
|
||||
|
||||
public function listFlightsDoesNotReturn500WhenPerPageIsInvalid(AcceptanceTester $I)
|
||||
{
|
||||
$params = [
|
||||
'page' => 1,
|
||||
'per_page' => ''
|
||||
];
|
||||
|
||||
|
||||
$I->sendGET($this->uri, $params);
|
||||
$r = $I->grabResponse();
|
||||
|
||||
|
||||
$I->seeResponseCodeIs(200, $r);
|
||||
$I->seeResponseIsJson();
|
||||
}
|
||||
|
||||
|
||||
public function listFlightsReturns0ItemWhenPageIsBeyondEndOfCollection(AcceptanceTester $I)
|
||||
{
|
||||
$params = [
|
||||
'page' => 99999,
|
||||
'per_page' => 2
|
||||
];
|
||||
|
||||
|
||||
$I->sendGET($this->uri, $params);
|
||||
$r = $I->grabResponse();
|
||||
|
||||
|
||||
$I->seeResponseCodeIs(200, $r);
|
||||
$I->seeResponseIsJson();
|
||||
|
||||
|
||||
$data = json_decode($r);
|
||||
$I->assertCount(0, $data->data, json_encode($data));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function getFlightReturnsTripJson(AcceptanceTester $I)
|
||||
{
|
||||
$I->sendGET($this->uri, []);
|
||||
$r = $I->grabResponse();
|
||||
$data = json_decode($r, true);
|
||||
$tripId = $data['data'][0]['id'];
|
||||
|
||||
|
||||
$params = [];
|
||||
$uri = $this->uri . '/' . $tripId;
|
||||
|
||||
|
||||
$I->sendGET($uri, $params);
|
||||
$r = $I->grabResponse();
|
||||
|
||||
|
||||
$I->seeResponseCodeIs(200, $r);
|
||||
$I->seeResponseIsJson();
|
||||
|
||||
|
||||
$data = json_decode($r, true);
|
||||
$I->assertEquals('flights', $data['data']['type']);
|
||||
$I->assertEquals($tripId, $data['data']['id']);
|
||||
}
|
||||
|
||||
|
||||
public function getFlightReturns400IfTripIdNotFound(AcceptanceTester $I)
|
||||
{
|
||||
$params = [];
|
||||
$uri = $this->uri . '/999999';
|
||||
|
||||
|
||||
$I->sendGET($uri, $params);
|
||||
$r = $I->grabResponse();
|
||||
|
||||
|
||||
$I->seeResponseCodeIs(400, $r);
|
||||
$I->seeResponseIsJson();
|
||||
}
|
||||
|
||||
|
||||
public function removeFlightRemovesFlightFromTrips(AcceptanceTester $I)
|
||||
{
|
||||
$tripId = $this->getFirstTripId($I);
|
||||
$r = $this->addFlightToTrip($I, 'YUL', $tripId);
|
||||
$data = json_decode($r, true);
|
||||
|
||||
|
||||
$flightId = $data['data']['attributes']['flights'][0]['id'];
|
||||
$uri = $this->uri .'/'.$flightId;
|
||||
|
||||
|
||||
$I->sendDELETE($uri);
|
||||
|
||||
|
||||
$I->seeResponseCodeIs(204);
|
||||
$I->seeResponseEquals('');
|
||||
}
|
||||
|
||||
|
||||
private function getFirstTripId(AcceptanceTester $I)
|
||||
{
|
||||
$uri = '/trips/';
|
||||
@@ -147,11 +148,11 @@ class FlightsCest
|
||||
$tripId = $data['data'][0]['id'];
|
||||
return $tripId;
|
||||
}
|
||||
|
||||
|
||||
private function addFlightToTrip(AcceptanceTester $I, $destination, $tripId)
|
||||
{
|
||||
$uri = '/trips/' . $tripId .'/flights';
|
||||
|
||||
|
||||
$I->sendPost($uri, [
|
||||
'destination' => $destination
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user