CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 4.6 Strawberry API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 4.6
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
      • Constraint
      • Fixture
      • Stub
    • Utility
    • Validation
    • View

Trait IntegrationTestTrait

A trait intended to make integration tests of your controllers easier.

This test class provides a number of helper methods and features that make dispatching requests and checking their responses simpler. It favours full integration tests over mock objects as you can test more of your code easily and avoid some of the maintenance pitfalls that mock objects create.

Namespace: Cake\TestSuite

Property Summary

  • $_appArgs protected
    array|null

    The customized application constructor arguments.

  • $_appClass protected
    string|null

    The customized application class name.

  • $_controller protected
    Cake\Controller\Controller|null

    The controller used in the last request.

  • $_cookie protected
    array

    Cookie data to use in the next request.

  • $_cookieEncryptionKey protected
    string|null
  • $_csrfKeyName protected
    string

    The name that will be used when retrieving the csrf token.

  • $_csrfToken protected
    bool

    Boolean flag for whether the request should have a CSRF token added.

  • $_exception protected
    Throwable|null

    The exception being thrown if the case.

  • $_flashMessages protected
    array

    Stored flash messages before render

  • $_layoutName protected
    string

    The last rendered layout

  • $_request protected
    array

    The data used to build the next request.

  • $_requestSession protected
    Cake\Http\Session

    The session instance from the last request

  • $_response protected
    Psr\Http\Message\ResponseInterface|null

    The response for the most recent request.

  • $_retainFlashMessages protected
    bool

    Boolean flag for whether the request should re-store flash messages

  • $_securityToken protected
    bool

    Boolean flag for whether the request should have a SecurityComponent token added.

  • $_session protected
    array

    Session data to use in the next request.

  • $_unlockedFields protected
    array<string>

    List of fields that are excluded from field validation.

  • $_validCiphers protected
    array<string>

    Valid cipher names for encrypted cookies.

  • $_viewName protected
    string

    The last rendered view

Method Summary

  • _addTokens() protected

    Add the CSRF and Security Component tokens if necessary.

  • _buildRequest() protected

    Creates a request object with the configured options and parameters.

  • _castToString() protected

    Recursively casts all data to string as that is how data would be POSTed in the real world

  • _checkCipher() protected

    Helper method for validating encryption cipher names.

  • _decode() protected

    Decodes and decrypts a single value.

  • _decrypt() protected

    Decrypts $value using public $type method in Security class

  • _encrypt() protected

    Encrypts $value using public $type method in Security class

  • _explode() protected

    Explode method to return array from string set in CookieComponent::_implode() Maintains reading backwards compatibility with 1.x CookieComponent::_implode().

  • _getBodyAsString() protected

    Get the response body as string

  • _getCookieEncryptionKey() protected

    Returns the encryption key to be used.

  • _handleError() protected

    Attempts to render an error response for a given exception.

  • _implode() protected

    Implode method to keep keys are multidimensional arrays

  • _makeDispatcher() protected

    Get the correct dispatcher instance.

  • _sendRequest() protected

    Creates and send the request into a Dispatcher instance.

  • _url() protected

    Creates a valid request url and parameter array more like Request::_url()

  • assertContentType() public

    Asserts content type

  • assertCookie() public

    Asserts cookie values

  • assertCookieEncrypted() public

    Asserts cookie values which are encrypted by the CookieComponent.

  • assertCookieIsSet() public

    Asserts that a cookie is set.

  • assertCookieNotSet() public

    Asserts a cookie has not been set in the response

  • assertFileResponse() public

    Asserts that a file with the given name was sent in the response

  • assertFlashElement() public

    Asserts a flash element was set

  • assertFlashElementAt() public

    Asserts a flash element was set at a certain index

  • assertFlashMessage() public

    Asserts a flash message was set

  • assertFlashMessageAt() public

    Asserts a flash message was set at a certain index

  • assertHeader() public

    Asserts response headers

  • assertHeaderContains() public

    Asserts response header contains a string

  • assertHeaderNotContains() public

    Asserts response header does not contain a string

  • assertLayout() public

    Asserts that the search string was in the layout name.

  • assertNoRedirect() public

    Asserts that the Location header is not set.

  • assertRedirect() public

    Asserts that the Location header is correct. Comparison is made against a full URL.

  • assertRedirectContains() public

    Asserts that the Location header contains a substring

  • assertRedirectEquals() public

    Asserts that the Location header is correct. Comparison is made against exactly the URL provided.

  • assertRedirectNotContains() public

    Asserts that the Location header does not contain a substring

  • assertResponseCode() public

    Asserts a specific response status code.

  • assertResponseContains() public

    Asserts content exists in the response body.

  • assertResponseEmpty() public

    Assert response content is empty.

  • assertResponseEquals() public

    Asserts content in the response body equals.

  • assertResponseError() public

    Asserts that the response status code is in the 4xx range.

  • assertResponseFailure() public

    Asserts that the response status code is in the 5xx range.

  • assertResponseNotContains() public

    Asserts content does not exist in the response body.

  • assertResponseNotEmpty() public

    Assert response content is not empty.

  • assertResponseNotEquals() public

    Asserts content in the response body not equals.

  • assertResponseNotRegExp() public

    Asserts that the response body does not match a given regular expression.

  • assertResponseOk() public

    Asserts that the response status code is in the 2xx range.

  • assertResponseRegExp() public

    Asserts that the response body matches a given regular expression.

  • assertResponseSuccess() public

    Asserts that the response status code is in the 2xx/3xx range.

  • assertSession() public

    Asserts session contents

  • assertSessionHasKey() public

    Asserts session key exists.

  • assertSessionNotHasKey() public

    Asserts a session key does not exist.

  • assertTemplate() public

    Asserts that the search string was in the template name.

  • cleanup() public

    Clears the state used for requests.

  • cleanupContainer() public

    Clears any mocks that were defined and cleans up application class configuration.

  • configApplication() public

    Configure the application class to use in integration tests.

  • configRequest() public

    Configures the data for the next request.

  • controllerSpy() public

    Adds additional event spies to the controller/view event manager.

  • cookie() public

    Sets a request cookie for future requests.

  • cookieEncrypted() public

    Sets a encrypted request cookie for future requests.

  • createApp() protected

    Create an application instance.

  • delete() public

    Performs a DELETE request using the current request data.

  • disableErrorHandlerMiddleware() public

    Disable the error handler middleware.

  • enableCsrfToken() public

    Calling this method will add a CSRF token to the request.

  • enableRetainFlashMessages() public

    Calling this method will re-store flash messages into the test session after being removed by the FlashHelper

  • enableSecurityToken() public

    Calling this method will enable a SecurityComponent compatible token to be added to request data. This lets you easily test actions protected by SecurityComponent.

  • extractExceptionMessage() protected

    Extract verbose message for existing exception

  • extractVerboseMessage() protected

    Inspect controller to extract possible causes of the failed assertion

  • get() public

    Performs a GET request using the current request data.

  • getSession() protected
  • head() public

    Performs a HEAD request using the current request data.

  • mockService() public

    Add a mocked service to the container.

  • modifyContainer() public

    Wrap the application's container with one containing mocks.

  • options() public

    Performs an OPTIONS request using the current request data.

  • patch() public

    Performs a PATCH request using the current request data.

  • post() public

    Performs a POST request using the current request data.

  • put() public

    Performs a PUT request using the current request data.

  • removeMockService() public

    Remove a mocked service to the container.

  • session() public

    Sets session data.

  • setUnlockedFields() public

    Set list of fields that are excluded from field validation.

  • viewVariable() public

    Fetches a view variable by name.

Method Detail

_addTokens() ¶ protected

_addTokens(string $url, array $data): array

Add the CSRF and Security Component tokens if necessary.

Parameters
string $url

The URL the form is being submitted on.

array $data

The request body data.

Returns
array

_buildRequest() ¶ protected

_buildRequest(string $url, string $method, array|string $data = []): array

Creates a request object with the configured options and parameters.

Parameters
string $url

The URL

string $method

The HTTP method

array|string $data optional

The request data.

Returns
array

_castToString() ¶ protected

_castToString(array $data): array

Recursively casts all data to string as that is how data would be POSTed in the real world

Parameters
array $data

POST data

Returns
array

_checkCipher() ¶ protected

_checkCipher(string $encrypt): void

Helper method for validating encryption cipher names.

Parameters
string $encrypt

The cipher name.

Returns
void
Throws
RuntimeException
When an invalid cipher is provided.

_decode() ¶ protected

_decode(string $value, string|false $encrypt, string|null $key): array|string

Decodes and decrypts a single value.

Parameters
string $value

The value to decode & decrypt.

string|false $encrypt

The encryption cipher to use.

string|null $key

Used as the security salt if specified.

Returns
array|string

_decrypt() ¶ protected

_decrypt(array<string>|string $values, string|false $mode, string|null $key = null): array|string

Decrypts $value using public $type method in Security class

Parameters
array<string>|string $values

Values to decrypt

string|false $mode

Encryption mode

string|null $key optional

Used as the security salt if specified.

Returns
array|string

_encrypt() ¶ protected

_encrypt(array|string $value, string|false $encrypt, string|null $key = null): string

Encrypts $value using public $type method in Security class

Parameters
array|string $value

Value to encrypt

string|false $encrypt

Encryption mode to use. False disabled encryption.

string|null $key optional

Used as the security salt if specified.

Returns
string

_explode() ¶ protected

_explode(string $string): array|string

Explode method to return array from string set in CookieComponent::_implode() Maintains reading backwards compatibility with 1.x CookieComponent::_implode().

Parameters
string $string

A string containing JSON encoded data, or a bare string.

Returns
array|string

_getBodyAsString() ¶ protected

_getBodyAsString(): string

Get the response body as string

Returns
string

_getCookieEncryptionKey() ¶ protected

_getCookieEncryptionKey(): string

Returns the encryption key to be used.

Returns
string

_handleError() ¶ protected

_handleError(Throwable $exception): void

Attempts to render an error response for a given exception.

This method will attempt to use the configured exception renderer. If that class does not exist, the built-in renderer will be used.

Parameters
Throwable $exception

Exception to handle.

Returns
void

_implode() ¶ protected

_implode(array $array): string

Implode method to keep keys are multidimensional arrays

Parameters
array $array

Map of key and values

Returns
string

_makeDispatcher() ¶ protected

_makeDispatcher(): Cake\TestSuite\MiddlewareDispatcher

Get the correct dispatcher instance.

Returns
Cake\TestSuite\MiddlewareDispatcher

_sendRequest() ¶ protected

_sendRequest(array|string $url, string $method, array|string $data = []): void

Creates and send the request into a Dispatcher instance.

Receives and stores the response for future inspection.

Parameters
array|string $url

The URL

string $method

The HTTP method

array|string $data optional

The request data.

Returns
void
Throws
PHPUnit\Exception|Throwable

_url() ¶ protected

_url(string $url): array

Creates a valid request url and parameter array more like Request::_url()

Parameters
string $url

The URL

Returns
array

assertContentType() ¶ public

assertContentType(string $type, string $message = ''): void

Asserts content type

Parameters
string $type

The content-type to check for.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertCookie() ¶ public

assertCookie(mixed $expected, string $name, string $message = ''): void

Asserts cookie values

Parameters
mixed $expected

The expected contents.

string $name

The cookie name.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertCookieEncrypted() ¶ public

assertCookieEncrypted(mixed $expected, string $name, string $encrypt = 'aes', string|null $key = null, string $message = ''): void

Asserts cookie values which are encrypted by the CookieComponent.

The difference from assertCookie() is this decrypts the cookie value like the CookieComponent for this assertion.

Parameters
mixed $expected

The expected contents.

string $name

The cookie name.

string $encrypt optional

Encryption mode to use.

string|null $key optional

Encryption key used. Defaults to Security.salt.

string $message optional

The failure message that will be appended to the generated message.

Returns
void
See Also
\Cake\Utility\CookieCryptTrait::_encrypt()

assertCookieIsSet() ¶ public

assertCookieIsSet(string $name, string $message = ''): void

Asserts that a cookie is set.

Useful when you're working with cookies that have obfuscated values but the cookie being set is important.

Parameters
string $name

The cookie name.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertCookieNotSet() ¶ public

assertCookieNotSet(string $cookie, string $message = ''): void

Asserts a cookie has not been set in the response

Parameters
string $cookie

The cookie name to check

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertFileResponse() ¶ public

assertFileResponse(string $expected, string $message = ''): void

Asserts that a file with the given name was sent in the response

Parameters
string $expected

The absolute file path that should be sent in the response.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertFlashElement() ¶ public

assertFlashElement(string $expected, string $key = 'flash', string $message = ''): void

Asserts a flash element was set

Parameters
string $expected

Expected element name

string $key optional

Flash key

string $message optional

Assertion failure message

Returns
void

assertFlashElementAt() ¶ public

assertFlashElementAt(int $at, string $expected, string $key = 'flash', string $message = ''): void

Asserts a flash element was set at a certain index

Parameters
int $at

Flash index

string $expected

Expected element name

string $key optional

Flash key

string $message optional

Assertion failure message

Returns
void

assertFlashMessage() ¶ public

assertFlashMessage(string $expected, string $key = 'flash', string $message = ''): void

Asserts a flash message was set

Parameters
string $expected

Expected message

string $key optional

Flash key

string $message optional

Assertion failure message

Returns
void

assertFlashMessageAt() ¶ public

assertFlashMessageAt(int $at, string $expected, string $key = 'flash', string $message = ''): void

Asserts a flash message was set at a certain index

Parameters
int $at

Flash index

string $expected

Expected message

string $key optional

Flash key

string $message optional

Assertion failure message

Returns
void

assertHeader() ¶ public

assertHeader(string $header, string $content, string $message = ''): void

Asserts response headers

Parameters
string $header

The header to check

string $content

The content to check for.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertHeaderContains() ¶ public

assertHeaderContains(string $header, string $content, string $message = ''): void

Asserts response header contains a string

Parameters
string $header

The header to check

string $content

The content to check for.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertHeaderNotContains() ¶ public

assertHeaderNotContains(string $header, string $content, string $message = ''): void

Asserts response header does not contain a string

Parameters
string $header

The header to check

string $content

The content to check for.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertLayout() ¶ public

assertLayout(string $content, string $message = ''): void

Asserts that the search string was in the layout name.

Parameters
string $content

The content to check for.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertNoRedirect() ¶ public

assertNoRedirect(string $message = ''): void

Asserts that the Location header is not set.

Parameters
string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertRedirect() ¶ public

assertRedirect(array|string|null $url = null, string $message = ''): void

Asserts that the Location header is correct. Comparison is made against a full URL.

Parameters
array|string|null $url optional

The URL you expected the client to go to. This can either be a string URL or an array compatible with Router::url(). Use null to simply check for the existence of this header.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertRedirectContains() ¶ public

assertRedirectContains(string $url, string $message = ''): void

Asserts that the Location header contains a substring

Parameters
string $url

The URL you expected the client to go to.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertRedirectEquals() ¶ public

assertRedirectEquals(array|string|null $url = null, string $message = ''): void

Asserts that the Location header is correct. Comparison is made against exactly the URL provided.

Parameters
array|string|null $url optional

The URL you expected the client to go to. This can either be a string URL or an array compatible with Router::url(). Use null to simply check for the existence of this header.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertRedirectNotContains() ¶ public

assertRedirectNotContains(string $url, string $message = ''): void

Asserts that the Location header does not contain a substring

Parameters
string $url

The URL you expected the client to go to.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertResponseCode() ¶ public

assertResponseCode(int $code, string $message = ''): void

Asserts a specific response status code.

Parameters
int $code

Status code to assert.

string $message optional

Custom message for failure.

Returns
void

assertResponseContains() ¶ public

assertResponseContains(string $content, string $message = '', bool $ignoreCase = false): void

Asserts content exists in the response body.

Parameters
string $content

The content to check for.

string $message optional

The failure message that will be appended to the generated message.

bool $ignoreCase optional

A flag to check whether we should ignore case or not.

Returns
void

assertResponseEmpty() ¶ public

assertResponseEmpty(string $message = ''): void

Assert response content is empty.

Parameters
string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertResponseEquals() ¶ public

assertResponseEquals(mixed $content, string $message = ''): void

Asserts content in the response body equals.

Parameters
mixed $content

The content to check for.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertResponseError() ¶ public

assertResponseError(string $message = ''): void

Asserts that the response status code is in the 4xx range.

Parameters
string $message optional

Custom message for failure.

Returns
void

assertResponseFailure() ¶ public

assertResponseFailure(string $message = ''): void

Asserts that the response status code is in the 5xx range.

Parameters
string $message optional

Custom message for failure.

Returns
void

assertResponseNotContains() ¶ public

assertResponseNotContains(string $content, string $message = '', bool $ignoreCase = false): void

Asserts content does not exist in the response body.

Parameters
string $content

The content to check for.

string $message optional

The failure message that will be appended to the generated message.

bool $ignoreCase optional

A flag to check whether we should ignore case or not.

Returns
void

assertResponseNotEmpty() ¶ public

assertResponseNotEmpty(string $message = ''): void

Assert response content is not empty.

Parameters
string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertResponseNotEquals() ¶ public

assertResponseNotEquals(mixed $content, string $message = ''): void

Asserts content in the response body not equals.

Parameters
mixed $content

The content to check for.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertResponseNotRegExp() ¶ public

assertResponseNotRegExp(string $pattern, string $message = ''): void

Asserts that the response body does not match a given regular expression.

Parameters
string $pattern

The pattern to compare against.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertResponseOk() ¶ public

assertResponseOk(string $message = ''): void

Asserts that the response status code is in the 2xx range.

Parameters
string $message optional

Custom message for failure.

Returns
void

assertResponseRegExp() ¶ public

assertResponseRegExp(string $pattern, string $message = ''): void

Asserts that the response body matches a given regular expression.

Parameters
string $pattern

The pattern to compare against.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertResponseSuccess() ¶ public

assertResponseSuccess(string $message = ''): void

Asserts that the response status code is in the 2xx/3xx range.

Parameters
string $message optional

Custom message for failure.

Returns
void

assertSession() ¶ public

assertSession(mixed $expected, string $path, string $message = ''): void

Asserts session contents

Parameters
mixed $expected

The expected contents.

string $path

The session data path. Uses Hash::get() compatible notation

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertSessionHasKey() ¶ public

assertSessionHasKey(string $path, string $message = ''): void

Asserts session key exists.

Parameters
string $path

The session data path. Uses Hash::get() compatible notation.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertSessionNotHasKey() ¶ public

assertSessionNotHasKey(string $path, string $message = ''): void

Asserts a session key does not exist.

Parameters
string $path

The session data path. Uses Hash::get() compatible notation.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

assertTemplate() ¶ public

assertTemplate(string $content, string $message = ''): void

Asserts that the search string was in the template name.

Parameters
string $content

The content to check for.

string $message optional

The failure message that will be appended to the generated message.

Returns
void

cleanup() ¶ public

cleanup(): void

Clears the state used for requests.

Returns
void

cleanupContainer() ¶ public

cleanupContainer(): void

Clears any mocks that were defined and cleans up application class configuration.

Returns
void

configApplication() ¶ public

configApplication(string $class, array|null $constructorArgs): void

Configure the application class to use in integration tests.

Parameters
string $class

The application class name.

array|null $constructorArgs

The constructor arguments for your application class.

Returns
void

configRequest() ¶ public

configRequest(array $data): void

Configures the data for the next request.

This data is cleared in the tearDown() method.

You can call this method multiple times to append into the current state. Sub-keys like 'headers' will be reset, though.

Parameters
array $data

The request data to use.

Returns
void

controllerSpy() ¶ public

controllerSpy(Cake\Event\EventInterface $event, Cake\Controller\Controller|null $controller = null): void

Adds additional event spies to the controller/view event manager.

Parameters
Cake\Event\EventInterface $event

A dispatcher event.

Cake\Controller\Controller|null $controller optional

Controller instance.

Returns
void

cookie() ¶ public

cookie(string $name, mixed $value): void

Sets a request cookie for future requests.

This method lets you configure the session data you want to be used for requests that follow. The session state is reset in each tearDown().

You can call this method multiple times to append into the current state.

Parameters
string $name

The cookie name to use.

mixed $value

The value of the cookie.

Returns
void

cookieEncrypted() ¶ public

cookieEncrypted(string $name, mixed $value, string|false $encrypt = 'aes', string|null $key = null): void

Sets a encrypted request cookie for future requests.

The difference from cookie() is this encrypts the cookie value like the CookieComponent.

Parameters
string $name

The cookie name to use.

mixed $value

The value of the cookie.

string|false $encrypt optional

Encryption mode to use.

string|null $key optional

Encryption key used. Defaults to Security.salt.

Returns
void
See Also
\Cake\Utility\CookieCryptTrait::_encrypt()

createApp() ¶ protected

createApp(): Cake\Core\HttpApplicationInterface|Cake\Core\ConsoleApplicationInterface

Create an application instance.

Uses the configuration set in configApplication().

Returns
Cake\Core\HttpApplicationInterface|Cake\Core\ConsoleApplicationInterface

delete() ¶ public

delete(array|string $url): void

Performs a DELETE request using the current request data.

The response of the dispatched request will be stored as a property. You can use various assert methods to check the response.

Parameters
array|string $url

The URL to request.

Returns
void

disableErrorHandlerMiddleware() ¶ public

disableErrorHandlerMiddleware(): void

Disable the error handler middleware.

By using this function, exceptions are no longer caught by the ErrorHandlerMiddleware and are instead re-thrown by the TestExceptionRenderer. This can be helpful when trying to diagnose/debug unexpected failures in test cases.

Returns
void

enableCsrfToken() ¶ public

enableCsrfToken(string $cookieName = 'csrfToken'): void

Calling this method will add a CSRF token to the request.

Both the POST data and cookie will be populated when this option is enabled. The default parameter names will be used.

Parameters
string $cookieName optional

The name of the csrf token cookie.

Returns
void

enableRetainFlashMessages() ¶ public

enableRetainFlashMessages(): void

Calling this method will re-store flash messages into the test session after being removed by the FlashHelper

Returns
void

enableSecurityToken() ¶ public

enableSecurityToken(): void

Calling this method will enable a SecurityComponent compatible token to be added to request data. This lets you easily test actions protected by SecurityComponent.

Returns
void

extractExceptionMessage() ¶ protected

extractExceptionMessage(Exception $exception): string

Extract verbose message for existing exception

Parameters
Exception $exception

Exception to extract

Returns
string

extractVerboseMessage() ¶ protected

extractVerboseMessage(string $message): string

Inspect controller to extract possible causes of the failed assertion

Parameters
string $message

Original message to use as a base

Returns
string

get() ¶ public

get(array|string $url): void

Performs a GET request using the current request data.

The response of the dispatched request will be stored as a property. You can use various assert methods to check the response.

Parameters
array|string $url

The URL to request.

Returns
void

getSession() ¶ protected

getSession(): Cake\TestSuite\TestSession
Returns
Cake\TestSuite\TestSession

head() ¶ public

head(array|string $url): void

Performs a HEAD request using the current request data.

The response of the dispatched request will be stored as a property. You can use various assert methods to check the response.

Parameters
array|string $url

The URL to request.

Returns
void

mockService() ¶ public

mockService(string $class, Closure $factory): $this

Add a mocked service to the container.

When the container is created the provided classname will be mapped to the factory function. The factory function will be used to create mocked services.

Parameters
string $class

The class or interface you want to define.

Closure $factory

The factory function for mocked services.

Returns
$this

modifyContainer() ¶ public

modifyContainer(Cake\Event\EventInterface $event, Cake\Core\ContainerInterface $container): Cake\Core\ContainerInterface|null

Wrap the application's container with one containing mocks.

If any mocked services are defined, the application's container will be replaced with one containing mocks. The original container will be set as a delegate to the mock container.

Parameters
Cake\Event\EventInterface $event

The event

Cake\Core\ContainerInterface $container

The container to wrap.

Returns
Cake\Core\ContainerInterface|null

options() ¶ public

options(array|string $url): void

Performs an OPTIONS request using the current request data.

The response of the dispatched request will be stored as a property. You can use various assert methods to check the response.

Parameters
array|string $url

The URL to request.

Returns
void

patch() ¶ public

patch(array|string $url, array|string $data = []): void

Performs a PATCH request using the current request data.

The response of the dispatched request will be stored as a property. You can use various assert methods to check the response.

Parameters
array|string $url

The URL to request.

array|string $data optional

The data for the request.

Returns
void

post() ¶ public

post(array|string $url, array|string $data = []): void

Performs a POST request using the current request data.

The response of the dispatched request will be stored as a property. You can use various assert methods to check the response.

Parameters
array|string $url

The URL to request.

array|string $data optional

The data for the request.

Returns
void

put() ¶ public

put(array|string $url, array|string $data = []): void

Performs a PUT request using the current request data.

The response of the dispatched request will be stored as a property. You can use various assert methods to check the response.

Parameters
array|string $url

The URL to request.

array|string $data optional

The data for the request.

Returns
void

removeMockService() ¶ public

removeMockService(string $class): $this

Remove a mocked service to the container.

Parameters
string $class

The class or interface you want to remove.

Returns
$this

session() ¶ public

session(array $data): void

Sets session data.

This method lets you configure the session data you want to be used for requests that follow. The session state is reset in each tearDown().

You can call this method multiple times to append into the current state.

Parameters
array $data

The session data to use.

Returns
void

setUnlockedFields() ¶ public

setUnlockedFields(array<string> $unlockedFields = []): void

Set list of fields that are excluded from field validation.

Parameters
array<string> $unlockedFields optional

List of fields that are excluded from field validation.

Returns
void

viewVariable() ¶ public

viewVariable(string $name): mixed

Fetches a view variable by name.

If the view variable does not exist, null will be returned.

Parameters
string $name

The view variable to get.

Returns
mixed

Property Detail

$_appArgs ¶ protected

The customized application constructor arguments.

Type
array|null

$_appClass ¶ protected

The customized application class name.

Type
string|null

$_controller ¶ protected

The controller used in the last request.

Type
Cake\Controller\Controller|null

$_cookie ¶ protected

Cookie data to use in the next request.

Type
array

$_cookieEncryptionKey ¶ protected

Type
string|null

$_csrfKeyName ¶ protected

The name that will be used when retrieving the csrf token.

Type
string

$_csrfToken ¶ protected

Boolean flag for whether the request should have a CSRF token added.

Type
bool

$_exception ¶ protected

The exception being thrown if the case.

Type
Throwable|null

$_flashMessages ¶ protected

Stored flash messages before render

Type
array

$_layoutName ¶ protected

The last rendered layout

Type
string

$_request ¶ protected

The data used to build the next request.

Type
array

$_requestSession ¶ protected

The session instance from the last request

Type
Cake\Http\Session

$_response ¶ protected

The response for the most recent request.

Type
Psr\Http\Message\ResponseInterface|null

$_retainFlashMessages ¶ protected

Boolean flag for whether the request should re-store flash messages

Type
bool

$_securityToken ¶ protected

Boolean flag for whether the request should have a SecurityComponent token added.

Type
bool

$_session ¶ protected

Session data to use in the next request.

Type
array

$_unlockedFields ¶ protected

List of fields that are excluded from field validation.

Type
array<string>

$_validCiphers ¶ protected

Valid cipher names for encrypted cookies.

Type
array<string>

$_viewName ¶ protected

The last rendered view

Type
string
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs