MakesHttpRequests

trait MakesHttpRequests (View source)

Traits

InteractsWithPages

Properties

protected Crawler $crawler The DomCrawler instance. from InteractsWithPages
protected array $subCrawlers Nested crawler instances used by the "within" method. from InteractsWithPages
protected array $inputs All of the stored inputs for the current page. from InteractsWithPages
protected array $uploads All of the stored uploads for the current page. from InteractsWithPages
protected Response $response The last response returned by the application.
protected string $currentUri The current URL being viewed.
protected array $serverVariables Additional server variables for the request.

Methods

$this visit(string $uri)

Visit the given URI with a GET request.

from InteractsWithPages
$this makeRequest(string $method, string $uri, array $parameters = [], array $cookies = [], array $files = [])

Make a request to the application and create a Crawler instance.

from InteractsWithPages
void resetPageContext()

Clean the crawler and the subcrawlers values to reset the page context.

from InteractsWithPages
$this makeRequestUsingForm(Form $form, array $uploads = [])

Make a request to the application using the given form.

from InteractsWithPages
array extractParametersFromForm(Form $form)

Extract the parameters from the given form.

from InteractsWithPages
$this followRedirects()

Follow redirects from the last response.

from InteractsWithPages
$this clearInputs()

Clear the inputs for the current page.

from InteractsWithPages
$this seePageIs(string $uri)

Assert that the current page matches a given URI.

from InteractsWithPages
void assertPageLoaded(string $uri, string|null $message = null)

Assert that a given page successfully loaded.

from InteractsWithPages
$this within(string $element, Closure $callback)

Narrow the test content to a specific area of the page.

from InteractsWithPages
Crawler crawler()

Get the current crawler according to the test context.

from InteractsWithPages
$this assertInPage(PageConstraint $constraint, bool $reverse = false, string $message = '')

Assert the given constraint.

from InteractsWithPages
$this see(string $text, bool $negate = false)

Assert that a given string is seen on the current HTML.

from InteractsWithPages
$this dontSee(string $text)

Assert that a given string is not seen on the current HTML.

from InteractsWithPages
$this seeElement(string $selector, array $attributes = [], bool $negate = false)

Assert that an element is present on the page.

from InteractsWithPages
$this dontSeeElement(string $selector, array $attributes = [])

Assert that an element is not present on the page.

from InteractsWithPages
$this seeText(string $text, bool $negate = false)

Assert that a given string is seen on the current text.

from InteractsWithPages
$this dontSeeText(string $text)

Assert that a given string is not seen on the current text.

from InteractsWithPages
$this seeInElement(string $element, string $text, bool $negate = false)

Assert that a given string is seen inside an element.

from InteractsWithPages
$this dontSeeInElement(string $element, string $text)

Assert that a given string is not seen inside an element.

from InteractsWithPages
$this seeLink(string $text, string|null $url = null, bool $negate = false)

Assert that a given link is seen on the page.

from InteractsWithPages
$this dontSeeLink(string $text, string|null $url = null)

Assert that a given link is not seen on the page.

from InteractsWithPages
$this seeInField(string $selector, string $expected, bool $negate = false)

Assert that an input field contains the given value.

from InteractsWithPages
$this dontSeeInField(string $selector, string $value)

Assert that an input field does not contain the given value.

from InteractsWithPages
$this seeIsSelected(string $selector, string $value, bool $negate = false)

Assert that the expected value is selected.

from InteractsWithPages
$this dontSeeIsSelected(string $selector, string $value)

Assert that the given value is not selected.

from InteractsWithPages
$this seeIsChecked(string $selector, bool $negate = false)

Assert that the given checkbox is selected.

from InteractsWithPages
$this dontSeeIsChecked(string $selector)

Assert that the given checkbox is not selected.

from InteractsWithPages
$this click(string $name)

Click a link with the given body, name, or ID attribute.

from InteractsWithPages
$this type(string $text, string $element)

Fill an input field with the given text.

from InteractsWithPages
$this check(string $element)

Check a checkbox on the page.

from InteractsWithPages
$this uncheck(string $element)

Uncheck a checkbox on the page.

from InteractsWithPages
$this select(string $option, string $element)

Select an option from a drop-down.

from InteractsWithPages
$this attach(string $absolutePath, string $element)

Attach a file to a form field on the page.

from InteractsWithPages
$this press(string $buttonText)

Submit a form using the button with the given text value.

from InteractsWithPages
$this submitForm(string $buttonText, array $inputs = [], array $uploads = [])

Submit a form on the page with the given input.

from InteractsWithPages
Form fillForm(string $buttonText, array $inputs = [])

Fill the form with the given data.

from InteractsWithPages
Form getForm(string|null $buttonText = null)

Get the form from the page with the given submit button text.

from InteractsWithPages
$this storeInput(string $element, string $text)

Store a form input in the local array.

from InteractsWithPages
void assertFilterProducesResults(string $filter)

Assert that a filtered Crawler returns nodes.

from InteractsWithPages
Crawler filterByNameOrId(string $name, array|string $elements = '*')

Filter elements according to the given name or ID attribute.

from InteractsWithPages
array convertUploadsForTesting(Form $form, array $uploads)

Convert the given uploads to UploadedFile instances.

from InteractsWithPages
UploadedFile getUploadedFileForTesting(array $file, array $uploads, string $name)

Create an UploadedFile instance for testing.

from InteractsWithPages
$this withoutMiddleware()

Disable middleware for the test.

$this json(string $method, string $uri, array $data = [], array $headers = [])

Visit the given URI with a JSON request.

array extractFilesFromDataArray(array $data)

Extract the file uploads from the given data array.

$this get(string $uri, array $headers = [])

Visit the given URI with a GET request.

$this post(string $uri, array $data = [], array $headers = [])

Visit the given URI with a POST request.

$this put(string $uri, array $data = [], array $headers = [])

Visit the given URI with a PUT request.

$this patch(string $uri, array $data = [], array $headers = [])

Visit the given URI with a PATCH request.

$this delete(string $uri, array $data = [], array $headers = [])

Visit the given URI with a DELETE request.

$this handle(Request $request)

Send the given request through the application.

$this shouldReturnJson(array $data = null)

Assert that the response contains JSON.

$this|null receiveJson(array|null $data = null)

Assert that the response contains JSON.

$this seeJsonEquals(array $data)

Assert that the response contains an exact JSON array.

$this seeJson(array $data = null, bool $negate = false)

Assert that the response contains JSON.

$this dontSeeJson(array $data = null)

Assert that the response doesn't contain JSON.

$this seeJsonStructure(array $structure = null, array|null $responseData = null)

Assert that the JSON response has a given structure.

$this seeJsonContains(array $data, bool $negate = false)

Assert that the response contains the given JSON.

$this seeJsonSubset(array $data)

Assert that the response is a superset of the given JSON.

array decodeResponseJson()

Validate and return the decoded response JSON.

string formatToExpectedJson(string $key, mixed $value)

Format the given key and value into a JSON string for expectation checks.

$this seeStatusCode(int $status)

Asserts that the status code of the response matches the given code.

$this seeHeader(string $headerName, mixed $value = null)

Asserts that the response contains the given header and equals the optional value.

$this seePlainCookie(string $cookieName, mixed $value = null)

Asserts that the response contains the given cookie and equals the optional value.

$this seeCookie(string $cookieName, mixed $value = null, bool $encrypted = true)

Asserts that the response contains the given cookie and equals the optional value.

$this withServerVariables(array $server)

Define a set of server variables to be sent with the requests.

Response call(string $method, string $uri, array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null)

Call the given URI and return the Response.

Response callSecure(string $method, string $uri, array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null)

Call the given HTTPS URI and return the Response.

Response action(string $method, string $action, array $wildcards = [], array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null)

Call a controller action and return the Response.

Response route(string $method, string $name, array $routeParameters = [], array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null)

Call a named route and return the Response.

string prepareUrlForRequest(string $uri)

Turn the given URI into a fully qualified URL.

array transformHeadersToServerVars(array $headers)

Transform headers array to array of $SERVER vars with HTTP* format.

$this assertResponseOk()

Assert that the client response has an OK status code.

$this assertResponseStatus(int $code)

Assert that the client response has a given code.

$this assertViewHas(string|array $key, mixed $value = null)

Assert that the response view has a given piece of bound data.

$this assertViewHasAll(array $bindings)

Assert that the view has a given list of bound data.

$this assertViewMissing(string $key)

Assert that the response view is missing a piece of bound data.

$this assertRedirectedTo(string $uri, array $with = [])

Assert whether the client was redirected to a given URI.

$this assertRedirectedToRoute(string $name, array $parameters = [], array $with = [])

Assert whether the client was redirected to a given route.

$this assertRedirectedToAction(string $name, array $parameters = [], array $with = [])

Assert whether the client was redirected to a given action.

void dump()

Dump the content from the last response.

Details

$this visit(string $uri)

Visit the given URI with a GET request.

Parameters

string $uri

Return Value

$this

protected $this makeRequest(string $method, string $uri, array $parameters = [], array $cookies = [], array $files = [])

Make a request to the application and create a Crawler instance.

Parameters

string $method
string $uri
array $parameters
array $cookies
array $files

Return Value

$this

protected void resetPageContext()

Clean the crawler and the subcrawlers values to reset the page context.

Return Value

void

protected $this makeRequestUsingForm(Form $form, array $uploads = [])

Make a request to the application using the given form.

Parameters

Form $form
array $uploads

Return Value

$this

protected array extractParametersFromForm(Form $form)

Extract the parameters from the given form.

Parameters

Form $form

Return Value

array

protected $this followRedirects()

Follow redirects from the last response.

Return Value

$this

protected $this clearInputs()

Clear the inputs for the current page.

Return Value

$this

protected $this seePageIs(string $uri)

Assert that the current page matches a given URI.

Parameters

string $uri

Return Value

$this

protected void assertPageLoaded(string $uri, string|null $message = null)

Assert that a given page successfully loaded.

Parameters

string $uri
string|null $message

Return Value

void

Exceptions

HttpException

$this within(string $element, Closure $callback)

Narrow the test content to a specific area of the page.

Parameters

string $element
Closure $callback

Return Value

$this

protected Crawler crawler()

Get the current crawler according to the test context.

Return Value

Crawler

protected $this assertInPage(PageConstraint $constraint, bool $reverse = false, string $message = '')

Assert the given constraint.

Parameters

PageConstraint $constraint
bool $reverse
string $message

Return Value

$this

$this see(string $text, bool $negate = false)

Assert that a given string is seen on the current HTML.

Parameters

string $text
bool $negate

Return Value

$this

$this dontSee(string $text)

Assert that a given string is not seen on the current HTML.

Parameters

string $text

Return Value

$this

$this seeElement(string $selector, array $attributes = [], bool $negate = false)

Assert that an element is present on the page.

Parameters

string $selector
array $attributes
bool $negate

Return Value

$this

$this dontSeeElement(string $selector, array $attributes = [])

Assert that an element is not present on the page.

Parameters

string $selector
array $attributes

Return Value

$this

$this seeText(string $text, bool $negate = false)

Assert that a given string is seen on the current text.

Parameters

string $text
bool $negate

Return Value

$this

$this dontSeeText(string $text)

Assert that a given string is not seen on the current text.

Parameters

string $text

Return Value

$this

$this seeInElement(string $element, string $text, bool $negate = false)

Assert that a given string is seen inside an element.

Parameters

string $element
string $text
bool $negate

Return Value

$this

$this dontSeeInElement(string $element, string $text)

Assert that a given string is not seen inside an element.

Parameters

string $element
string $text

Return Value

$this

Assert that a given link is seen on the page.

Parameters

string $text
string|null $url
bool $negate

Return Value

$this

Assert that a given link is not seen on the page.

Parameters

string $text
string|null $url

Return Value

$this

$this seeInField(string $selector, string $expected, bool $negate = false)

Assert that an input field contains the given value.

Parameters

string $selector
string $expected
bool $negate

Return Value

$this

$this dontSeeInField(string $selector, string $value)

Assert that an input field does not contain the given value.

Parameters

string $selector
string $value

Return Value

$this

$this seeIsSelected(string $selector, string $value, bool $negate = false)

Assert that the expected value is selected.

Parameters

string $selector
string $value
bool $negate

Return Value

$this

$this dontSeeIsSelected(string $selector, string $value)

Assert that the given value is not selected.

Parameters

string $selector
string $value

Return Value

$this

$this seeIsChecked(string $selector, bool $negate = false)

Assert that the given checkbox is selected.

Parameters

string $selector
bool $negate

Return Value

$this

$this dontSeeIsChecked(string $selector)

Assert that the given checkbox is not selected.

Parameters

string $selector

Return Value

$this

protected $this click(string $name)

Click a link with the given body, name, or ID attribute.

Parameters

string $name

Return Value

$this

Exceptions

InvalidArgumentException

protected $this type(string $text, string $element)

Fill an input field with the given text.

Parameters

string $text
string $element

Return Value

$this

protected $this check(string $element)

Check a checkbox on the page.

Parameters

string $element

Return Value

$this

protected $this uncheck(string $element)

Uncheck a checkbox on the page.

Parameters

string $element

Return Value

$this

protected $this select(string $option, string $element)

Select an option from a drop-down.

Parameters

string $option
string $element

Return Value

$this

protected $this attach(string $absolutePath, string $element)

Attach a file to a form field on the page.

Parameters

string $absolutePath
string $element

Return Value

$this

protected $this press(string $buttonText)

Submit a form using the button with the given text value.

Parameters

string $buttonText

Return Value

$this

protected $this submitForm(string $buttonText, array $inputs = [], array $uploads = [])

Submit a form on the page with the given input.

Parameters

string $buttonText
array $inputs
array $uploads

Return Value

$this

protected Form fillForm(string $buttonText, array $inputs = [])

Fill the form with the given data.

Parameters

string $buttonText
array $inputs

Return Value

Form

protected Form getForm(string|null $buttonText = null)

Get the form from the page with the given submit button text.

Parameters

string|null $buttonText

Return Value

Form

Exceptions

InvalidArgumentException

protected $this storeInput(string $element, string $text)

Store a form input in the local array.

Parameters

string $element
string $text

Return Value

$this

protected void assertFilterProducesResults(string $filter)

Assert that a filtered Crawler returns nodes.

Parameters

string $filter

Return Value

void

Exceptions

InvalidArgumentException

protected Crawler filterByNameOrId(string $name, array|string $elements = '*')

Filter elements according to the given name or ID attribute.

Parameters

string $name
array|string $elements

Return Value

Crawler

protected array convertUploadsForTesting(Form $form, array $uploads)

Convert the given uploads to UploadedFile instances.

Parameters

Form $form
array $uploads

Return Value

array

protected UploadedFile getUploadedFileForTesting(array $file, array $uploads, string $name)

Create an UploadedFile instance for testing.

Parameters

array $file
array $uploads
string $name

Return Value

UploadedFile

$this withoutMiddleware()

Disable middleware for the test.

Return Value

$this

$this json(string $method, string $uri, array $data = [], array $headers = [])

Visit the given URI with a JSON request.

Parameters

string $method
string $uri
array $data
array $headers

Return Value

$this

protected array extractFilesFromDataArray(array $data)

Extract the file uploads from the given data array.

Parameters

array $data

Return Value

array

$this get(string $uri, array $headers = [])

Visit the given URI with a GET request.

Parameters

string $uri
array $headers

Return Value

$this

$this post(string $uri, array $data = [], array $headers = [])

Visit the given URI with a POST request.

Parameters

string $uri
array $data
array $headers

Return Value

$this

$this put(string $uri, array $data = [], array $headers = [])

Visit the given URI with a PUT request.

Parameters

string $uri
array $data
array $headers

Return Value

$this

$this patch(string $uri, array $data = [], array $headers = [])

Visit the given URI with a PATCH request.

Parameters

string $uri
array $data
array $headers

Return Value

$this

$this delete(string $uri, array $data = [], array $headers = [])

Visit the given URI with a DELETE request.

Parameters

string $uri
array $data
array $headers

Return Value

$this

$this handle(Request $request)

Send the given request through the application.

This method allows you to fully customize the entire Request object.

Parameters

Request $request

Return Value

$this

protected $this shouldReturnJson(array $data = null)

Assert that the response contains JSON.

Parameters

array $data

Return Value

$this

protected $this|null receiveJson(array|null $data = null)

Assert that the response contains JSON.

Parameters

array|null $data

Return Value

$this|null

$this seeJsonEquals(array $data)

Assert that the response contains an exact JSON array.

Parameters

array $data

Return Value

$this

$this seeJson(array $data = null, bool $negate = false)

Assert that the response contains JSON.

Parameters

array $data
bool $negate

Return Value

$this

$this dontSeeJson(array $data = null)

Assert that the response doesn't contain JSON.

Parameters

array $data

Return Value

$this

$this seeJsonStructure(array $structure = null, array|null $responseData = null)

Assert that the JSON response has a given structure.

Parameters

array $structure
array|null $responseData

Return Value

$this

protected $this seeJsonContains(array $data, bool $negate = false)

Assert that the response contains the given JSON.

Parameters

array $data
bool $negate

Return Value

$this

protected $this seeJsonSubset(array $data)

Assert that the response is a superset of the given JSON.

Parameters

array $data

Return Value

$this

protected array decodeResponseJson()

Validate and return the decoded response JSON.

Return Value

array

protected string formatToExpectedJson(string $key, mixed $value)

Format the given key and value into a JSON string for expectation checks.

Parameters

string $key
mixed $value

Return Value

string

protected $this seeStatusCode(int $status)

Asserts that the status code of the response matches the given code.

Parameters

int $status

Return Value

$this

protected $this seeHeader(string $headerName, mixed $value = null)

Asserts that the response contains the given header and equals the optional value.

Parameters

string $headerName
mixed $value

Return Value

$this

protected $this seePlainCookie(string $cookieName, mixed $value = null)

Asserts that the response contains the given cookie and equals the optional value.

Parameters

string $cookieName
mixed $value

Return Value

$this

protected $this seeCookie(string $cookieName, mixed $value = null, bool $encrypted = true)

Asserts that the response contains the given cookie and equals the optional value.

Parameters

string $cookieName
mixed $value
bool $encrypted

Return Value

$this

protected $this withServerVariables(array $server)

Define a set of server variables to be sent with the requests.

Parameters

array $server

Return Value

$this

Response call(string $method, string $uri, array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null)

Call the given URI and return the Response.

Parameters

string $method
string $uri
array $parameters
array $cookies
array $files
array $server
string $content

Return Value

Response

Response callSecure(string $method, string $uri, array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null)

Call the given HTTPS URI and return the Response.

Parameters

string $method
string $uri
array $parameters
array $cookies
array $files
array $server
string $content

Return Value

Response

Response action(string $method, string $action, array $wildcards = [], array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null)

Call a controller action and return the Response.

Parameters

string $method
string $action
array $wildcards
array $parameters
array $cookies
array $files
array $server
string $content

Return Value

Response

Response route(string $method, string $name, array $routeParameters = [], array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null)

Call a named route and return the Response.

Parameters

string $method
string $name
array $routeParameters
array $parameters
array $cookies
array $files
array $server
string $content

Return Value

Response

protected string prepareUrlForRequest(string $uri)

Turn the given URI into a fully qualified URL.

Parameters

string $uri

Return Value

string

protected array transformHeadersToServerVars(array $headers)

Transform headers array to array of $SERVER vars with HTTP* format.

Parameters

array $headers

Return Value

array

$this assertResponseOk()

Assert that the client response has an OK status code.

Return Value

$this

$this assertResponseStatus(int $code)

Assert that the client response has a given code.

Parameters

int $code

Return Value

$this

$this assertViewHas(string|array $key, mixed $value = null)

Assert that the response view has a given piece of bound data.

Parameters

string|array $key
mixed $value

Return Value

$this

$this assertViewHasAll(array $bindings)

Assert that the view has a given list of bound data.

Parameters

array $bindings

Return Value

$this

$this assertViewMissing(string $key)

Assert that the response view is missing a piece of bound data.

Parameters

string $key

Return Value

$this

$this assertRedirectedTo(string $uri, array $with = [])

Assert whether the client was redirected to a given URI.

Parameters

string $uri
array $with

Return Value

$this

$this assertRedirectedToRoute(string $name, array $parameters = [], array $with = [])

Assert whether the client was redirected to a given route.

Parameters

string $name
array $parameters
array $with

Return Value

$this

$this assertRedirectedToAction(string $name, array $parameters = [], array $with = [])

Assert whether the client was redirected to a given action.

Parameters

string $name
array $parameters
array $with

Return Value

$this

void dump()

Dump the content from the last response.

Return Value

void

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.2/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.html