Skip to content

Commit

Permalink
#12 - To fix the json structure bug with nested keys, also fixed the …
Browse files Browse the repository at this point in the history
…calls to cater for the laravel seeJsonStructure not returning itself and failing.
  • Loading branch information
etiennemarais committed Feb 4, 2016
1 parent 24d2896 commit ccdba10
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 49 deletions.
44 changes: 22 additions & 22 deletions example/generated_tests/FeaturesTest.php
Original file line number Diff line number Diff line change
@@ -1,58 +1,58 @@
<?php

/**
* Generated by OutlineTestGenerator on 2016-02-04 at 16:26:48.
* Generated by OutlineTestGenerator on 2016-02-04 at 16:59:02.
*/
class FeaturesTest extends TestCase
{

public function testGet_Fetching_credits_available_Returns_200()
{
$this->get("/status/credits", array ( 'Authorization' => 'Token ApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', 'data', array ( 'credits_available', ), ))
->assertResponseStatus(200);
$call = $this->get("/status/credits", array ( 'Authorization' => 'Token ApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', 'data', 'data' => array ( 'credits_available', ), ));
$call->assertResponseStatus(200);
}

public function testGet_Fetching_credits_available_Returns_402()
{
$this->get("/status/credits", array ( 'Authorization' => 'Token ApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', 'data', array ( 'credits_available', 'min_threshold', ), ))
->assertResponseStatus(402);
$call = $this->get("/status/credits", array ( 'Authorization' => 'Token ApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', 'data', 'data' => array ( 'credits_available', 'min_threshold', ), ));
$call->assertResponseStatus(402);
}

public function testGet_Fetching_credits_available_Returns_401()
{
$this->get("/status/credits", array ( 'Authorization' => 'Token WrongApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', ))
->assertResponseStatus(401);
$call = $this->get("/status/credits", array ( 'Authorization' => 'Token WrongApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', ));
$call->assertResponseStatus(401);
}

public function testPost_Resending_a_code_Returns_200()
{
$this->post("/code/resend", array ( 'client_user_id' => '12345', 'phone_number' => '27848118111', ), array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token ApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', 'data', array ( 'verification_status', 'expires_at', array ( 'date', 'timezone_type', 'timezone', ), ), ))
->assertResponseStatus(200);
$call = $this->post("/code/resend", array ( 'client_user_id' => '12345', 'phone_number' => '27848118111', ), array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token ApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', 'data', 'data' => array ( 'verification_status', 'expires_at', 'expires_at' => array ( 'date', 'timezone_type', 'timezone', ), ), ));
$call->assertResponseStatus(200);
}

public function testPost_Resending_a_code_Returns_400()
{
$this->post("/code/resend", array ( 'phone_number' => '27848118111', ), array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token ApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', ))
->assertResponseStatus(400);
$call = $this->post("/code/resend", array ( 'phone_number' => '27848118111', ), array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token ApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', ));
$call->assertResponseStatus(400);
}

public function testPost_Resending_a_code_Returns_401()
{
$this->post("/code/resend", [], array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token WrongApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', ))
->assertResponseStatus(401);
$call = $this->post("/code/resend", [], array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token WrongApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', ));
$call->assertResponseStatus(401);
}

public function testPost_Resending_a_code_Returns_406()
{
$this->post("/code/resend", array ( 'client_user_id' => '12345', 'phone_number' => 'someBadNumber', ), array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token ApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', 'data', array ( 'required_format', ), ))
->assertResponseStatus(406);
$call = $this->post("/code/resend", array ( 'client_user_id' => '12345', 'phone_number' => 'someBadNumber', ), array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token ApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', 'data', 'data' => array ( 'required_format', ), ));
$call->assertResponseStatus(406);
}

}
2 changes: 1 addition & 1 deletion src/Outline/Resource/ResourceAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public function getTestCases()

array_map(function($responses) use ($actionParams, $request, &$testCases) {
$seeJsonStructure = Arr::replaceWithArrayStringRepresentation(
"->seeJsonStructure(%)",
"seeJsonStructure(%)",
json_decode($responses['body'], true)
);

Expand Down
6 changes: 3 additions & 3 deletions src/Outline/Test/Template/Lumen/stubs/TestCase.tpl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

public function test{methodLabel}_{methodName}()
{
$this->{method}("{endpoint}", {requestData}{requestHeaders})
{seeJsonStructure}
->assertResponseStatus({statusCode});
$call = $this->{method}("{endpoint}", {requestData}{requestHeaders});
$call->{seeJsonStructure};
$call->assertResponseStatus({statusCode});
}
2 changes: 1 addition & 1 deletion src/Outline/Utilities/Arr/Arr.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public static function getKeyStructure(array $array)
$keys[] = $key;

if (is_array($value)) {
$keys[] = static::getKeyStructure($value);
$keys[$key] = static::getKeyStructure($value);
}
}

Expand Down
44 changes: 22 additions & 22 deletions tests/fixture/generated_tests/FeaturesTest.php
Original file line number Diff line number Diff line change
@@ -1,58 +1,58 @@
<?php

/**
* Generated by OutlineTestGenerator on 2016-02-04 at 16:27:19.
* Generated by OutlineTestGenerator on 2016-02-04 at 17:01:12.
*/
class FeaturesTest extends TestCase
{

public function testGet_Fetching_credits_available_Returns_200()
{
$this->get("/status/credits", array ( 'Authorization' => 'Token ApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', 'data', array ( 'credits_available', ), ))
->assertResponseStatus(200);
$call = $this->get("/status/credits", array ( 'Authorization' => 'Token ApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', 'data', 'data' => array ( 'credits_available', ), ));
$call->assertResponseStatus(200);
}

public function testGet_Fetching_credits_available_Returns_402()
{
$this->get("/status/credits", array ( 'Authorization' => 'Token ApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', 'data', array ( 'credits_available', 'min_threshold', ), ))
->assertResponseStatus(402);
$call = $this->get("/status/credits", array ( 'Authorization' => 'Token ApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', 'data', 'data' => array ( 'credits_available', 'min_threshold', ), ));
$call->assertResponseStatus(402);
}

public function testGet_Fetching_credits_available_Returns_401()
{
$this->get("/status/credits", array ( 'Authorization' => 'Token WrongApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', ))
->assertResponseStatus(401);
$call = $this->get("/status/credits", array ( 'Authorization' => 'Token WrongApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', ));
$call->assertResponseStatus(401);
}

public function testPost_Resending_a_code_Returns_200()
{
$this->post("/code/resend", array ( 'client_user_id' => '12345', 'phone_number' => '27848118111', ), array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token ApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', 'data', array ( 'verification_status', 'expires_at', array ( 'date', 'timezone_type', 'timezone', ), ), ))
->assertResponseStatus(200);
$call = $this->post("/code/resend", array ( 'client_user_id' => '12345', 'phone_number' => '27848118111', ), array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token ApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', 'data', 'data' => array ( 'verification_status', 'expires_at', 'expires_at' => array ( 'date', 'timezone_type', 'timezone', ), ), ));
$call->assertResponseStatus(200);
}

public function testPost_Resending_a_code_Returns_400()
{
$this->post("/code/resend", array ( 'phone_number' => '27848118111', ), array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token ApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', ))
->assertResponseStatus(400);
$call = $this->post("/code/resend", array ( 'phone_number' => '27848118111', ), array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token ApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', ));
$call->assertResponseStatus(400);
}

public function testPost_Resending_a_code_Returns_401()
{
$this->post("/code/resend", [], array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token WrongApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', ))
->assertResponseStatus(401);
$call = $this->post("/code/resend", [], array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token WrongApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', ));
$call->assertResponseStatus(401);
}

public function testPost_Resending_a_code_Returns_406()
{
$this->post("/code/resend", array ( 'client_user_id' => '12345', 'phone_number' => 'someBadNumber', ), array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token ApiKey1234', ))
->seeJsonStructure(array ( 'status', 'message', 'data', array ( 'required_format', ), ))
->assertResponseStatus(406);
$call = $this->post("/code/resend", array ( 'client_user_id' => '12345', 'phone_number' => 'someBadNumber', ), array ( 'Content-Type' => 'application/json', 'Authorization' => 'Token ApiKey1234', ));
$call->seeJsonStructure(array ( 'status', 'message', 'data', 'data' => array ( 'required_format', ), ));
$call->assertResponseStatus(406);
}

}

0 comments on commit ccdba10

Please sign in to comment.