Fix: .gitignore where to strict for codeception

This commit is contained in:
jelhan 2015-08-01 21:30:14 +02:00
parent 4ffe936e26
commit 200b25be5d
19 changed files with 3418 additions and 2 deletions

4
.gitignore vendored
View file

@ -3,8 +3,8 @@
# compiled output
/dist
/tmp
/api/_*
/api/**/_*
/api/tests/_output
/api/tests/_tmp
# dependencies
/node_modules

2
api/tests/_bootstrap.php Normal file
View file

@ -0,0 +1,2 @@
<?php
// This is global bootstrap for autoloading

1
api/tests/_data/dump.sql Normal file
View file

@ -0,0 +1 @@
/* Replace this file with actual dump of your database */

View file

@ -0,0 +1,26 @@
<?php
/**
* Inherited Methods
* @method void wantToTest($text)
* @method void wantTo($text)
* @method void execute($callable)
* @method void expectTo($prediction)
* @method void expect($prediction)
* @method void amGoingTo($argumentation)
* @method void am($role)
* @method void lookForwardTo($achieveValue)
* @method void comment($description)
* @method \Codeception\Lib\Friend haveFriend($name, $actorClass = null)
*
* @SuppressWarnings(PHPMD)
*/
class AcceptanceTester extends \Codeception\Actor
{
use _generated\AcceptanceTesterActions;
/**
* Define custom actions here
*/
}

View file

@ -0,0 +1,26 @@
<?php
/**
* Inherited Methods
* @method void wantToTest($text)
* @method void wantTo($text)
* @method void execute($callable)
* @method void expectTo($prediction)
* @method void expect($prediction)
* @method void amGoingTo($argumentation)
* @method void am($role)
* @method void lookForwardTo($achieveValue)
* @method void comment($description)
* @method \Codeception\Lib\Friend haveFriend($name, $actorClass = null)
*
* @SuppressWarnings(PHPMD)
*/
class ApiTester extends \Codeception\Actor
{
use _generated\ApiTesterActions;
/**
* Define custom actions here
*/
}

View file

@ -0,0 +1,26 @@
<?php
/**
* Inherited Methods
* @method void wantToTest($text)
* @method void wantTo($text)
* @method void execute($callable)
* @method void expectTo($prediction)
* @method void expect($prediction)
* @method void amGoingTo($argumentation)
* @method void am($role)
* @method void lookForwardTo($achieveValue)
* @method void comment($description)
* @method \Codeception\Lib\Friend haveFriend($name, $actorClass = null)
*
* @SuppressWarnings(PHPMD)
*/
class FunctionalTester extends \Codeception\Actor
{
use _generated\FunctionalTesterActions;
/**
* Define custom actions here
*/
}

View file

@ -0,0 +1,9 @@
<?php
namespace Helper;
// here you can define custom actions
// all public methods declared in helper class will be available in $I
class Acceptance extends \Codeception\Module
{
}

View file

@ -0,0 +1,9 @@
<?php
namespace Helper;
// here you can define custom actions
// all public methods declared in helper class will be available in $I
class Api extends \Codeception\Module
{
}

View file

@ -0,0 +1,9 @@
<?php
namespace Helper;
// here you can define custom actions
// all public methods declared in helper class will be available in $I
class Functional extends \Codeception\Module
{
}

View file

@ -0,0 +1,9 @@
<?php
namespace Helper;
// here you can define custom actions
// all public methods declared in helper class will be available in $I
class Unit extends \Codeception\Module
{
}

View file

@ -0,0 +1,26 @@
<?php
/**
* Inherited Methods
* @method void wantToTest($text)
* @method void wantTo($text)
* @method void execute($callable)
* @method void expectTo($prediction)
* @method void expect($prediction)
* @method void amGoingTo($argumentation)
* @method void am($role)
* @method void lookForwardTo($achieveValue)
* @method void comment($description)
* @method \Codeception\Lib\Friend haveFriend($name, $actorClass = null)
*
* @SuppressWarnings(PHPMD)
*/
class UnitTester extends \Codeception\Actor
{
use _generated\UnitTesterActions;
/**
* Define custom actions here
*/
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,906 @@
<?php //[STAMP] c3d98a4ad74521b537d74db58ca772db
namespace _generated;
// This class was automatically generated by build task
// You should not change it manually as it will be overwritten on next build
// @codingStandardsIgnoreFile
use Helper\Api;
use Codeception\Module\REST;
trait ApiTesterActions
{
/**
* @return \Codeception\Scenario
*/
abstract protected function getScenario();
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Sets HTTP header
*
* @param $name
* @param $value
* @part json
* @part xml
* @see \Codeception\Module\REST::haveHttpHeader()
*/
public function haveHttpHeader($name, $value) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('haveHttpHeader', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks over the given HTTP header and (optionally)
* its value, asserting that are there
*
* @param $name
* @param $value
* @part json
* @part xml
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::seeHttpHeader()
*/
public function canSeeHttpHeader($name, $value = null) {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeHttpHeader', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks over the given HTTP header and (optionally)
* its value, asserting that are there
*
* @param $name
* @param $value
* @part json
* @part xml
* @see \Codeception\Module\REST::seeHttpHeader()
*/
public function seeHttpHeader($name, $value = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeHttpHeader', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks over the given HTTP header and (optionally)
* its value, asserting that are not there
*
* @param $name
* @param $value
* @part json
* @part xml
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::dontSeeHttpHeader()
*/
public function cantSeeHttpHeader($name, $value = null) {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeHttpHeader', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks over the given HTTP header and (optionally)
* its value, asserting that are not there
*
* @param $name
* @param $value
* @part json
* @part xml
* @see \Codeception\Module\REST::dontSeeHttpHeader()
*/
public function dontSeeHttpHeader($name, $value = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeHttpHeader', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that http response header is received only once.
* HTTP RFC2616 allows multiple response headers with the same name.
* You can check that you didn't accidentally sent the same header twice.
*
* ``` php
* <?php
* $I->seeHttpHeaderOnce('Cache-Control');
* ?>>
* ```
*
* @param $name
* @part json
* @part xml
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::seeHttpHeaderOnce()
*/
public function canSeeHttpHeaderOnce($name) {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeHttpHeaderOnce', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that http response header is received only once.
* HTTP RFC2616 allows multiple response headers with the same name.
* You can check that you didn't accidentally sent the same header twice.
*
* ``` php
* <?php
* $I->seeHttpHeaderOnce('Cache-Control');
* ?>>
* ```
*
* @param $name
* @part json
* @part xml
* @see \Codeception\Module\REST::seeHttpHeaderOnce()
*/
public function seeHttpHeaderOnce($name) {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeHttpHeaderOnce', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Returns the value of the specified header name
*
* @param $name
* @param Boolean $first Whether to return the first value or all header values
*
* @return string|array The first header value if $first is true, an array of values otherwise
* @part json
* @part xml
* @see \Codeception\Module\REST::grabHttpHeader()
*/
public function grabHttpHeader($name, $first = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('grabHttpHeader', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Adds HTTP authentication via username/password.
*
* @param $username
* @param $password
* @part json
* @part xml
* @see \Codeception\Module\REST::amHttpAuthenticated()
*/
public function amHttpAuthenticated($username, $password) {
return $this->getScenario()->runStep(new \Codeception\Step\Condition('amHttpAuthenticated', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Adds Digest authentication via username/password.
*
* @param $username
* @param $password
* @part json
* @part xml
* @see \Codeception\Module\REST::amDigestAuthenticated()
*/
public function amDigestAuthenticated($username, $password) {
return $this->getScenario()->runStep(new \Codeception\Step\Condition('amDigestAuthenticated', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Adds Bearer authentication via access token.
*
* @param $accessToken
* @part json
* @part xml
* @see \Codeception\Module\REST::amBearerAuthenticated()
*/
public function amBearerAuthenticated($accessToken) {
return $this->getScenario()->runStep(new \Codeception\Step\Condition('amBearerAuthenticated', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Sends a POST request to given uri.
*
* Parameters and files (as array of filenames) can be provided.
*
* @param $url
* @param array|\JsonSerializable $params
* @param array $files
* @part json
* @part xml
* @see \Codeception\Module\REST::sendPOST()
*/
public function sendPOST($url, $params = null, $files = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('sendPOST', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Sends a HEAD request to given uri.
*
* @param $url
* @param array $params
* @part json
* @part xml
* @see \Codeception\Module\REST::sendHEAD()
*/
public function sendHEAD($url, $params = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('sendHEAD', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Sends an OPTIONS request to given uri.
*
* @param $url
* @param array $params
* @part json
* @part xml
* @see \Codeception\Module\REST::sendOPTIONS()
*/
public function sendOPTIONS($url, $params = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('sendOPTIONS', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Sends a GET request to given uri.
*
* @param $url
* @param array $params
* @part json
* @part xml
* @see \Codeception\Module\REST::sendGET()
*/
public function sendGET($url, $params = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('sendGET', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Sends PUT request to given uri.
*
* @param $url
* @param array $params
* @param array $files
* @part json
* @part xml
* @see \Codeception\Module\REST::sendPUT()
*/
public function sendPUT($url, $params = null, $files = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('sendPUT', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Sends PATCH request to given uri.
*
* @param $url
* @param array $params
* @param array $files
* @part json
* @part xml
* @see \Codeception\Module\REST::sendPATCH()
*/
public function sendPATCH($url, $params = null, $files = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('sendPATCH', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Sends DELETE request to given uri.
*
* @param $url
* @param array $params
* @param array $files
* @part json
* @part xml
* @see \Codeception\Module\REST::sendDELETE()
*/
public function sendDELETE($url, $params = null, $files = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('sendDELETE', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Sends LINK request to given uri.
*
* @param $url
* @param array $linkEntries (entry is array with keys "uri" and "link-param")
*
* @link http://tools.ietf.org/html/rfc2068#section-19.6.2.4
*
* @author samva.ua@gmail.com
* @part json
* @part xml
* @see \Codeception\Module\REST::sendLINK()
*/
public function sendLINK($url, $linkEntries) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('sendLINK', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Sends UNLINK request to given uri.
*
* @param $url
* @param array $linkEntries (entry is array with keys "uri" and "link-param")
* @link http://tools.ietf.org/html/rfc2068#section-19.6.2.4
* @author samva.ua@gmail.com
* @part json
* @part xml
* @see \Codeception\Module\REST::sendUNLINK()
*/
public function sendUNLINK($url, $linkEntries) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('sendUNLINK', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks whether last response was valid JSON.
* This is done with json_last_error function.
*
* @part json
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::seeResponseIsJson()
*/
public function canSeeResponseIsJson() {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseIsJson', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks whether last response was valid JSON.
* This is done with json_last_error function.
*
* @part json
* @see \Codeception\Module\REST::seeResponseIsJson()
*/
public function seeResponseIsJson() {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeResponseIsJson', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks whether the last response contains text.
*
* @param $text
* @part json
* @part xml
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::seeResponseContains()
*/
public function canSeeResponseContains($text) {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseContains', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks whether the last response contains text.
*
* @param $text
* @part json
* @part xml
* @see \Codeception\Module\REST::seeResponseContains()
*/
public function seeResponseContains($text) {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeResponseContains', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks whether last response do not contain text.
*
* @param $text
* @part json
* @part xml
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::dontSeeResponseContains()
*/
public function cantSeeResponseContains($text) {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeResponseContains', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks whether last response do not contain text.
*
* @param $text
* @part json
* @part xml
* @see \Codeception\Module\REST::dontSeeResponseContains()
*/
public function dontSeeResponseContains($text) {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeResponseContains', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks whether the last JSON response contains provided array.
* The response is converted to array with json_decode($response, true)
* Thus, JSON is represented by associative array.
* This method matches that response array contains provided array.
*
* Examples:
*
* ``` php
* <?php
* // response: {name: john, email: john@gmail.com}
* $I->seeResponseContainsJson(array('name' => 'john'));
*
* // response {user: john, profile: { email: john@gmail.com }}
* $I->seeResponseContainsJson(array('email' => 'john@gmail.com'));
*
* ?>
* ```
*
* This method recursively checks if one array can be found inside of another.
*
* @param array $json
* @part json
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::seeResponseContainsJson()
*/
public function canSeeResponseContainsJson($json = null) {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseContainsJson', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks whether the last JSON response contains provided array.
* The response is converted to array with json_decode($response, true)
* Thus, JSON is represented by associative array.
* This method matches that response array contains provided array.
*
* Examples:
*
* ``` php
* <?php
* // response: {name: john, email: john@gmail.com}
* $I->seeResponseContainsJson(array('name' => 'john'));
*
* // response {user: john, profile: { email: john@gmail.com }}
* $I->seeResponseContainsJson(array('email' => 'john@gmail.com'));
*
* ?>
* ```
*
* This method recursively checks if one array can be found inside of another.
*
* @param array $json
* @part json
* @see \Codeception\Module\REST::seeResponseContainsJson()
*/
public function seeResponseContainsJson($json = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeResponseContainsJson', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Returns current response so that it can be used in next scenario steps.
*
* Example:
*
* ``` php
* <?php
* $user_id = $I->grabResponse();
* $I->sendPUT('/user', array('id' => $user_id, 'name' => 'davert'));
* ?>
* ```
*
* @version 1.1
* @return string
* @part json
* @part xml
* @see \Codeception\Module\REST::grabResponse()
*/
public function grabResponse() {
return $this->getScenario()->runStep(new \Codeception\Step\Action('grabResponse', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Returns data from the current JSON response using [JSONPath](http://goessner.net/articles/JsonPath/) as selector.
* JsonPath is XPath equivalent for querying Json structures. Try your JsonPath expressions [online](http://jsonpath.curiousconcept.com/).
* Even for a single value an array is returned.
*
* This method **require [`flow/jsonpath` > 0.2](https://github.com/FlowCommunications/JSONPath/) library to be installed**.
*
* Example:
*
* ``` php
* <?php
* // match the first `user.id` in json
* $firstUser = $I->grabDataFromJsonResponse('$..users[0].id');
* $I->sendPUT('/user', array('id' => $firstUser[0], 'name' => 'davert'));
* ?>
* ```
*
* @param $jsonPath
* @return array
* @version 2.0.9
* @throws \Exception
* @part json
* @see \Codeception\Module\REST::grabDataFromResponseByJsonPath()
*/
public function grabDataFromResponseByJsonPath($jsonPath) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('grabDataFromResponseByJsonPath', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks if json structure in response matches the xpath provided.
* JSON is not supposed to be checked against XPath, yet it can be converted to xml and used with XPath.
* This assertion allows you to check the structure of response json.
* *
* ```json
* { "store": {
* "book": [
* { "category": "reference",
* "author": "Nigel Rees",
* "title": "Sayings of the Century",
* "price": 8.95
* },
* { "category": "fiction",
* "author": "Evelyn Waugh",
* "title": "Sword of Honour",
* "price": 12.99
* }
* ],
* "bicycle": {
* "color": "red",
* "price": 19.95
* }
* }
* }
* ```
*
* ```php
* <?php
* // at least one book in store has author
* $I->seeResponseJsonMatchesXpath('//store/book/author');
* // first book in store has author
* $I->seeResponseJsonMatchesXpath('//store/book[1]/author');
* // at least one item in store has price
* $I->seeResponseJsonMatchesXpath('/store//price');
* ?>
* ```
* @part json
* @version 2.0.9
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::seeResponseJsonMatchesXpath()
*/
public function canSeeResponseJsonMatchesXpath($xpath) {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseJsonMatchesXpath', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks if json structure in response matches the xpath provided.
* JSON is not supposed to be checked against XPath, yet it can be converted to xml and used with XPath.
* This assertion allows you to check the structure of response json.
* *
* ```json
* { "store": {
* "book": [
* { "category": "reference",
* "author": "Nigel Rees",
* "title": "Sayings of the Century",
* "price": 8.95
* },
* { "category": "fiction",
* "author": "Evelyn Waugh",
* "title": "Sword of Honour",
* "price": 12.99
* }
* ],
* "bicycle": {
* "color": "red",
* "price": 19.95
* }
* }
* }
* ```
*
* ```php
* <?php
* // at least one book in store has author
* $I->seeResponseJsonMatchesXpath('//store/book/author');
* // first book in store has author
* $I->seeResponseJsonMatchesXpath('//store/book[1]/author');
* // at least one item in store has price
* $I->seeResponseJsonMatchesXpath('/store//price');
* ?>
* ```
* @part json
* @version 2.0.9
* @see \Codeception\Module\REST::seeResponseJsonMatchesXpath()
*/
public function seeResponseJsonMatchesXpath($xpath) {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeResponseJsonMatchesXpath', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks if json structure in response matches [JsonPath](http://goessner.net/articles/JsonPath/).
* JsonPath is XPath equivalent for querying Json structures. Try your JsonPath expressions [online](http://jsonpath.curiousconcept.com/).
* This assertion allows you to check the structure of response json.
*
* This method **require [`flow/jsonpath` > 0.2](https://github.com/FlowCommunications/JSONPath/) library to be installed**.
*
* ```json
* { "store": {
* "book": [
* { "category": "reference",
* "author": "Nigel Rees",
* "title": "Sayings of the Century",
* "price": 8.95
* },
* { "category": "fiction",
* "author": "Evelyn Waugh",
* "title": "Sword of Honour",
* "price": 12.99
* }
* ],
* "bicycle": {
* "color": "red",
* "price": 19.95
* }
* }
* }
* ```
*
* ```php
* <?php
* // at least one book in store has author
* $I->seeResponseJsonMatchesJsonPath('$.store.book[*].author');
* // first book in store has author
* $I->seeResponseJsonMatchesJsonPath('$.store.book[0].author');
* // at least one item in store has price
* $I->seeResponseJsonMatchesJsonPath('$.store..price');
* ?>
* ```
*
* @part json
* @version 2.0.9
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::seeResponseJsonMatchesJsonPath()
*/
public function canSeeResponseJsonMatchesJsonPath($jsonPath) {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseJsonMatchesJsonPath', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks if json structure in response matches [JsonPath](http://goessner.net/articles/JsonPath/).
* JsonPath is XPath equivalent for querying Json structures. Try your JsonPath expressions [online](http://jsonpath.curiousconcept.com/).
* This assertion allows you to check the structure of response json.
*
* This method **require [`flow/jsonpath` > 0.2](https://github.com/FlowCommunications/JSONPath/) library to be installed**.
*
* ```json
* { "store": {
* "book": [
* { "category": "reference",
* "author": "Nigel Rees",
* "title": "Sayings of the Century",
* "price": 8.95
* },
* { "category": "fiction",
* "author": "Evelyn Waugh",
* "title": "Sword of Honour",
* "price": 12.99
* }
* ],
* "bicycle": {
* "color": "red",
* "price": 19.95
* }
* }
* }
* ```
*
* ```php
* <?php
* // at least one book in store has author
* $I->seeResponseJsonMatchesJsonPath('$.store.book[*].author');
* // first book in store has author
* $I->seeResponseJsonMatchesJsonPath('$.store.book[0].author');
* // at least one item in store has price
* $I->seeResponseJsonMatchesJsonPath('$.store..price');
* ?>
* ```
*
* @part json
* @version 2.0.9
* @see \Codeception\Module\REST::seeResponseJsonMatchesJsonPath()
*/
public function seeResponseJsonMatchesJsonPath($jsonPath) {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeResponseJsonMatchesJsonPath', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Opposite to seeResponseJsonMatchesJsonPath
*
* @param array $jsonPath
* @part json
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::dontSeeResponseJsonMatchesJsonPath()
*/
public function cantSeeResponseJsonMatchesJsonPath($jsonPath) {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeResponseJsonMatchesJsonPath', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Opposite to seeResponseJsonMatchesJsonPath
*
* @param array $jsonPath
* @part json
* @see \Codeception\Module\REST::dontSeeResponseJsonMatchesJsonPath()
*/
public function dontSeeResponseJsonMatchesJsonPath($jsonPath) {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeResponseJsonMatchesJsonPath', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Opposite to seeResponseContainsJson
*
* @part json
* @param array $json
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::dontSeeResponseContainsJson()
*/
public function cantSeeResponseContainsJson($json = null) {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeResponseContainsJson', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Opposite to seeResponseContainsJson
*
* @part json
* @param array $json
* @see \Codeception\Module\REST::dontSeeResponseContainsJson()
*/
public function dontSeeResponseContainsJson($json = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeResponseContainsJson', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks if response is exactly the same as provided.
*
* @part json
* @part xml
* @param $response
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::seeResponseEquals()
*/
public function canSeeResponseEquals($response) {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseEquals', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks if response is exactly the same as provided.
*
* @part json
* @part xml
* @param $response
* @see \Codeception\Module\REST::seeResponseEquals()
*/
public function seeResponseEquals($response) {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeResponseEquals', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks response code equals to provided value.
*
* @part json
* @part xml
* @param $code
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::seeResponseCodeIs()
*/
public function canSeeResponseCodeIs($code) {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseCodeIs', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks response code equals to provided value.
*
* @part json
* @part xml
* @param $code
* @see \Codeception\Module\REST::seeResponseCodeIs()
*/
public function seeResponseCodeIs($code) {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeResponseCodeIs', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that response code is not equal to provided value.
*
* @part json
* @part xml
* @param $code
* Conditional Assertion: Test won't be stopped on fail
* @see \Codeception\Module\REST::dontSeeResponseCodeIs()
*/
public function cantSeeResponseCodeIs($code) {
return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeResponseCodeIs', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that response code is not equal to provided value.
*
* @part json
* @part xml
* @param $code
* @see \Codeception\Module\REST::dontSeeResponseCodeIs()
*/
public function dontSeeResponseCodeIs($code) {
return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeResponseCodeIs', func_get_args()));
}
}

View file

@ -0,0 +1,18 @@
<?php //[STAMP] f541d027b7d3040ac7f6f9758b0efa72
namespace _generated;
// This class was automatically generated by build task
// You should not change it manually as it will be overwritten on next build
// @codingStandardsIgnoreFile
use Helper\Functional;
trait FunctionalTesterActions
{
/**
* @return \Codeception\Scenario
*/
abstract protected function getScenario();
}

View file

@ -0,0 +1,348 @@
<?php //[STAMP] 89e6b7ecd22f7d5f545f625be99d16a4
namespace _generated;
// This class was automatically generated by build task
// You should not change it manually as it will be overwritten on next build
// @codingStandardsIgnoreFile
use Codeception\Module\Asserts;
use Helper\Unit;
trait UnitTesterActions
{
/**
* @return \Codeception\Scenario
*/
abstract protected function getScenario();
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that two variables are equal.
*
* @param $expected
* @param $actual
* @param string $message
*
* @return mixed
* @see \Codeception\Module\Asserts::assertEquals()
*/
public function assertEquals($expected, $actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEquals', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that two variables are not equal
*
* @param $expected
* @param $actual
* @param string $message
* @see \Codeception\Module\Asserts::assertNotEquals()
*/
public function assertNotEquals($expected, $actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEquals', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that two variables are same
*
* @param $expected
* @param $actual
* @param string $message
*
* @return mixed
* @see \Codeception\Module\Asserts::assertSame()
*/
public function assertSame($expected, $actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertSame', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that two variables are not same
*
* @param $expected
* @param $actual
* @param string $message
* @see \Codeception\Module\Asserts::assertNotSame()
*/
public function assertNotSame($expected, $actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotSame', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that actual is greater than expected
*
* @param $expected
* @param $actual
* @param string $message
* @see \Codeception\Module\Asserts::assertGreaterThan()
*/
public function assertGreaterThan($expected, $actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterThan', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* @deprecated
* @see \Codeception\Module\Asserts::assertGreaterThen()
*/
public function assertGreaterThen($expected, $actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterThen', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that actual is greater or equal than expected
*
* @param $expected
* @param $actual
* @param string $message
* @see \Codeception\Module\Asserts::assertGreaterThanOrEqual()
*/
public function assertGreaterThanOrEqual($expected, $actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterThanOrEqual', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* @deprecated
* @see \Codeception\Module\Asserts::assertGreaterThenOrEqual()
*/
public function assertGreaterThenOrEqual($expected, $actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertGreaterThenOrEqual', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that actual is less than expected
*
* @param $expected
* @param $actual
* @param string $message
* @see \Codeception\Module\Asserts::assertLessThan()
*/
public function assertLessThan($expected, $actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertLessThan', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that actual is less or equal than expected
*
* @param $expected
* @param $actual
* @param string $message
* @see \Codeception\Module\Asserts::assertLessThanOrEqual()
*/
public function assertLessThanOrEqual($expected, $actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertLessThanOrEqual', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that haystack contains needle
*
* @param $needle
* @param $haystack
* @param string $message
* @see \Codeception\Module\Asserts::assertContains()
*/
public function assertContains($needle, $haystack, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertContains', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that haystack doesn't contain needle.
*
* @param $needle
* @param $haystack
* @param string $message
* @see \Codeception\Module\Asserts::assertNotContains()
*/
public function assertNotContains($needle, $haystack, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotContains', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that string match with pattern
*
* @param string $pattern
* @param string $string
* @param string $message
* @see \Codeception\Module\Asserts::assertRegExp()
*/
public function assertRegExp($pattern, $string, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertRegExp', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that string not match with pattern
*
* @param string $pattern
* @param string $string
* @param string $message
* @see \Codeception\Module\Asserts::assertNotRegExp()
*/
public function assertNotRegExp($pattern, $string, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotRegExp', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that variable is empty.
*
* @param $actual
* @param string $message
* @see \Codeception\Module\Asserts::assertEmpty()
*/
public function assertEmpty($actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertEmpty', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that variable is not empty.
*
* @param $actual
* @param string $message
* @see \Codeception\Module\Asserts::assertNotEmpty()
*/
public function assertNotEmpty($actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotEmpty', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that variable is NULL
*
* @param $actual
* @param string $message
* @see \Codeception\Module\Asserts::assertNull()
*/
public function assertNull($actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNull', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that variable is not NULL
*
* @param $actual
* @param string $message
* @see \Codeception\Module\Asserts::assertNotNull()
*/
public function assertNotNull($actual, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertNotNull', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that condition is positive.
*
* @param $condition
* @param string $message
* @see \Codeception\Module\Asserts::assertTrue()
*/
public function assertTrue($condition, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertTrue', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks that condition is negative.
*
* @param $condition
* @param string $message
* @see \Codeception\Module\Asserts::assertFalse()
*/
public function assertFalse($condition, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFalse', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks if file exists
*
* @param string $filename
* @param string $message
* @see \Codeception\Module\Asserts::assertFileExists()
*/
public function assertFileExists($filename, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileExists', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Checks if file doesn't exists
*
* @param string $filename
* @param string $message
* @see \Codeception\Module\Asserts::assertFileNotExists()
*/
public function assertFileNotExists($filename, $message = null) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('assertFileNotExists', func_get_args()));
}
/**
* [!] Method is generated. Documentation taken from corresponding module.
*
* Fails the test with message.
*
* @param $message
* @see \Codeception\Module\Asserts::fail()
*/
public function fail($message) {
return $this->getScenario()->runStep(new \Codeception\Step\Action('fail', func_get_args()));
}
}

View file

@ -0,0 +1,2 @@
<?php
// Here you can initialize variables that will be available to your tests

View file

@ -0,0 +1,23 @@
<?php
// clear tmp dir
$tmpDataDir = 'tests/_tmp/data';
function deleteDirRecursively($dir) {
$handle = opendir($dir);
while(false !== ($entry = readdir($handle))) {
if($entry === '.' || $entry === '..') {
continue;
}
if(is_dir($dir . '/' . $entry)) {
$function = __FUNCTION__;
$function($dir .'/' . $entry);
}
else {
unlink($dir . '/' . $entry);
}
}
rmdir($dir);
}
deleteDirRecursively($tmpDataDir);

View file

@ -0,0 +1,2 @@
<?php
// Here you can initialize variables that will be available to your tests

View file

@ -0,0 +1,2 @@
<?php
// Here you can initialize variables that will be available to your tests