abstract class TestCase extends TestCase

Traits

Properties

protected Vite|null $originalVite

The original Vite handler.

from  InteractsWithContainer
protected DeferredCallbackCollection|null $originalDeferredCallbacksCollection

The original deferred callbacks collection.

from  InteractsWithContainer
protected array $defaultHeaders

Additional headers for the request.

from  MakesHttpRequests
protected array $defaultCookies

Additional cookies for the request.

from  MakesHttpRequests
protected array $unencryptedCookies

Additional cookies that will not be encrypted for the request.

from  MakesHttpRequests
protected array $serverVariables

Additional server variables for the request.

from  MakesHttpRequests
protected bool $followRedirects

Indicates whether redirects should be followed.

from  MakesHttpRequests
protected bool $encryptCookies

Indicates whether cookies should be encrypted.

from  MakesHttpRequests
protected bool $withCredentials

Indicated whether JSON requests should be performed "with credentials" (cookies).

from  MakesHttpRequests
static protected Waiter|null $waiter

The coroutine waiter for test requests.

from  MakesHttpRequests
bool $mockConsoleOutput

Indicates if the console output should be mocked.

from  InteractsWithConsole
bool|null $expectsOutput

Indicates if the command is expected to output anything.

from  InteractsWithConsole
array $expectedOutput

All of the expected output lines.

from  InteractsWithConsole
array $expectedOutputSubstrings

All of the expected text to be present in the output.

from  InteractsWithConsole
array $unexpectedOutput

All of the output lines that aren't expected to be displayed.

from  InteractsWithConsole
array $unexpectedOutputSubstrings

All of the text that is not expected to be present in the output.

from  InteractsWithConsole
array $expectedTables

All of the expected output tables.

from  InteractsWithConsole
array $expectedQuestions

All of the expected questions.

from  InteractsWithConsole
array $expectedChoices

All of the expected choice questions.

from  InteractsWithConsole
protected mixed $originalDeprecationHandler

The original deprecation handler.

from  InteractsWithDeprecationHandling
protected ExceptionHandler|null $originalExceptionHandler

The original exception handler.

from  InteractsWithExceptionHandling
protected Application|null $app

The application instance.

from  InteractsWithTestCaseLifecycle
protected array $afterApplicationCreatedCallbacks

The callbacks that should be run after the application is created.

from  InteractsWithTestCaseLifecycle
protected array $beforeApplicationDestroyedCallbacks

The callbacks that should be run before the application is destroyed.

from  InteractsWithTestCaseLifecycle
protected Throwable|null $callbackException

The exception thrown while running an application destruction callback.

from  InteractsWithTestCaseLifecycle
protected bool $setUpHasRun

Indicates if we have made it through the base setUp function.

from  InteractsWithTestCaseLifecycle
protected array $firedEvents

All of the fired events.

from  MocksApplicationServices
protected bool $runTestsInCoroutine from  RunTestsInCoroutine
protected bool $copyNonCoroutineContext from  RunTestsInCoroutine
protected Generator|null $faker

The Faker instance.

from  WithFaker
protected bool|null $withoutBootingFramework

Memoized result of the withoutBootingFramework check.

Methods

mixed
swap(string $abstract, mixed $instance)

Register an instance of an object in the container.

mixed
instance(string $abstract, mixed $instance)

Register an instance of an object in the container.

MockInterface
mock(string $abstract, Closure|null $mock = null)

Mock an instance of an object in the container.

MockInterface
partialMock(string $abstract, Closure|null $mock = null)

Mock a partial instance of an object in the container.

MockInterface
spy(string $abstract, Closure|null $mock = null)

Spy an instance of an object in the container.

forgetMock(string $abstract)

Instruct the container to forget a previously mocked / spied instance of an object.

withoutVite()

Register a Vite handler that returns empty strings for all assets.

__invoke(string|array $entrypoints, string|null $buildDirectory = null)

No description

mixed
__call(string $method, array $parameters)

No description

string
__toString()

No description

useIntegrityKey(string|false $key)

No description

useHotFile(string $path)

No description

withEntryPoints(array $entryPoints)

No description

useScriptTagAttributes(array|callable $attributes)

No description

useStyleTagAttributes(array|callable $attributes)

No description

usePreloadTagAttributes(array|callable|false $attributes)

No description

array
preloadedAssets()

No description

string
content(string $asset, string|null $buildDirectory = null)

No description

string
asset(string $asset, string|null $buildDirectory = null)

No description

withHeaders(array $headers)

Define additional headers to be sent with the request.

withHeader(string $name, string $value)

Add a header to be sent with the request.

withoutHeader(string $name)

Remove a header from the request.

withoutHeaders(array $headers)

Remove headers from the request.

withToken(string $token, string $type = 'Bearer')

Add an authorization token for the request.

withBasicAuth(string $username, string $password)

Add a basic authentication header to the request with the given credentials.

withoutToken()

Remove the authorization token from the request.

flushHeaders()

Flush all the configured headers.

withServerVariables(array $server)

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

withoutMiddleware(null|array|string $middleware = null)

Disable middleware for the test.

withMiddleware(null|array|string $middleware = null)

Enable the given middleware for the test.

withCookies(array $cookies)

Define additional cookies to be sent with the request.

withCookie(string $name, string $value)

Add a cookie to be sent with the request.

withUnencryptedCookies(array $cookies)

Define additional cookies that will not be encrypted before sending with the request.

withUnencryptedCookie(string $name, string $value)

Add a cookie that will not be encrypted before sending with the request.

followingRedirects()

Automatically follow any redirects returned from the response.

withCredentials()

Include cookies and authorization headers for JSON requests.

disableCookieEncryption()

Disable automatic encryption of cookie values.

from(string $url)

Set the referer header and previous URL session value in order to simulate a previous request.

fromRoute(BackedEnum|string $name, mixed $parameters = [])

Set the referer header and previous URL session value from a given route in order to simulate a previous request.

withPrecognition()

Set the Precognition header to "true".

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

Visit the given URI with a GET request.

getJson(Stringable|string $uri, array $headers = [], int $options = 0)

Visit the given URI with a GET request, expecting a JSON response.

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

Visit the given URI with a POST request.

postJson(Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Visit the given URI with a POST request, expecting a JSON response.

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

Visit the given URI with a PUT request.

putJson(Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Visit the given URI with a PUT request, expecting a JSON response.

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

Visit the given URI with a PATCH request.

patchJson(Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Visit the given URI with a PATCH request, expecting a JSON response.

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

Visit the given URI with a DELETE request.

deleteJson(Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Visit the given URI with a DELETE request, expecting a JSON response.

options(Stringable|string $uri, array $data = [], array $headers = [])

Visit the given URI with an OPTIONS request.

optionsJson(Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Visit the given URI with an OPTIONS request, expecting a JSON response.

head(Stringable|string $uri, array $headers = [])

Visit the given URI with a HEAD request.

query(Stringable|string $uri, array $data = [], array $headers = [])

Visit the given URI with a QUERY request.

queryJson(Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Visit the given URI with a QUERY request, expecting a JSON response.

json(string $method, Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Call the given URI with a JSON request.

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

Call the given URI and return the Response.

string
prepareUrlForRequest(Stringable|string $uri)

Turn the given URI into a fully-qualified URL.

void
syncRequestContextToParent(Request $request)

Sync durable request Context state to the test coroutine.

array
sessionContextSnapshot(Request $request)

Get a snapshot of durable session Context state for the completed request.

array
sessionContextKeys()

Get durable session Context keys.

array
sessionStoreContextKeys(Store $session)

Get the Context keys for the given session store.

array
authenticationContextKeys()

Get durable authentication Context keys.

array
transformHeadersToServerVars(array $headers)

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

string
formatServerHeaderKey(string $name)

Format the header name for the server array.

array
extractFilesFromDataArray(array $data)

Extract the file uploads from the given data array.

array
prepareCookiesForRequest()

If enabled, encrypt cookie values for request.

array
prepareCookiesForJsonRequest()

Prepare cookies for JSON requests.

followRedirects(mixed $response)

Follow a redirect chain until a non-redirect is received.

createTestRequest(Request $symfonyRequest)

Create the request instance used for testing from the given Symfony request.

createTestResponse(mixed $response, Request|null $request = null)

Create the test response instance from the given response.

void
dispatchRequestLifecycleEvent(string $eventClass, Request $request, Response|null $response = null)

Dispatch a request lifecycle event if enabled.

getWaiter()

Get the coroutine waiter for test requests.

actingAs(Authenticatable $user, string|null $guard = null)

Set the currently logged in user for the application.

actingAsGuest(string|null $guard = null)

Clear the currently logged in user for the application.

be(Authenticatable $user, string|null $guard = null)

Set the currently logged in user for the application.

assertAuthenticated(string|null $guard = null)

Assert that the user is authenticated.

assertGuest(string|null $guard = null)

Assert that the user is not authenticated.

bool
isAuthenticated(string|null $guard = null)

Return true if the user is authenticated, false otherwise.

assertAuthenticatedAs(Authenticatable $user, string|null $guard = null)

Assert that the user is authenticated as the given user.

assertCredentials(array $credentials, string|null $guard = null)

Assert that the given credentials are valid.

assertInvalidCredentials(array $credentials, string|null $guard = null)

Assert that the given credentials are invalid.

bool
hasCredentials(array $credentials, string|null $guard = null)

Return true if the credentials are valid, false otherwise.

artisan(string $command, array $parameters = [])

Alias of command method.

command(string $command, array $parameters = [])

Call Hypervel command and return code.

withoutMockingConsoleOutput()

Disable mocking the console output.

$this
assertDatabaseHas(Model>|Model|Model>|string $table, array $data = [], null|string $connection = null)

Assert that a given where condition exists in the database.

$this
assertDatabaseMissing(Model>|Model|Model>|string $table, array $data = [], null|string $connection = null)

Assert that a given where condition does not exist in the database.

$this
assertDatabaseCount(Model|string $table, int $count, null|string $connection = null)

Assert the count of table entries.

$this
assertDatabaseEmpty(Model>|Model|Model>|Model|string>|string $table, null|string $connection = null)

Assert that the given table or tables has no entries.

$this
assertSoftDeleted(Model>|Model|Model>|Model|string>|string $table, array $data = [], null|string $connection = null, null|string $deletedAtColumn = 'deleted_at')

Assert the given record has been "soft deleted".

$this
assertNotSoftDeleted(Model>|Model|Model>|Model|string>|string $table, array $data = [], null|string $connection = null, null|string $deletedAtColumn = 'deleted_at')

Assert the given record has not been "soft deleted".

$this
assertModelExists(Model>|Model|Model>|string $model)

Assert the given model exists in the database.

$this
assertModelMissing(Model>|Model|Model>|string $model)

Assert the given model does not exist in the database.

$this
expectsDatabaseQueryCount(int $expected, null|string $connection = null)

Specify the number of database queries that should occur throughout the test.

bool
isSoftDeletableModel(mixed $model)

Determine if the argument is a soft deletable model.

castAsJson(array|object|string $value, null|string $connection = null)

Cast a JSON string to a database compatible type.

getConnection(null|string $connection = null, null|Model>|Model|string $table = null)

Get the database connection.

string
getTable(Model>|Model|string $table)

Get the table name from the given model or string.

null|string
getTableConnection(Model>|Model|string $table)

Get the table connection specified in the given model.

string
getDeletedAtColumn(string $table, string $defaultColumnName = 'deleted_at')

Get the table column name used for soft deletes.

null|Model
newModelFor(Model|string $table)

Get the model entity from the given model or string.

seed(array|string $class = 'Database\Seeders\DatabaseSeeder')

Seed a given database connection.

void
setEnvironmentValue(string $key, string $value)

Set an environment variable for the current PHP process.

void
unsetEnvironmentValue(string $key)

Unset an environment variable for the current PHP process.

string
firstClosureParameterType(Closure $closure)

Get the class name of the first parameter of the given Closure.

array
firstClosureParameterTypes(Closure $closure)

Get the class names of the first parameter of the given Closure, including union types.

array
closureParameterTypes(Closure $closure)

Get the class names / types of the parameters of the given Closure.

array
closureReturnTypes(Closure $closure)

Get the class names / types of the return type of the given Closure.

handleExceptions(array $exceptions)

Only handle the given exceptions via the exception handler.

handleValidationExceptions()

Only handle validation exceptions via the exception handler.

withoutExceptionHandling(array $except = [])

Disable exception handling for the test.

__construct(ExceptionHandler $originalHandler, array $except = [])

No description

void
report(Throwable $e)

Report or log an exception.

bool
shouldReport(Throwable $e)

Determine if the exception should be reported.

Response
render(Request $request, Throwable $e)

Render an exception into an HTTP response.

void
renderForConsole(OutputInterface $output, Throwable $e)

Render an exception to the console.

void
afterResponse(callable $callback)

Register a callback to be called after an HTTP error response is rendered.

void
assertRouteMiddlewareRunsBefore(string $routeName, string $before, string $after)

Assert route middleware runtime order.

array
resolvedMiddlewareForRoute(string $routeName)

Get resolved runtime middleware for a named route.

withSession(array $data)

Set the session to the given array.

session(array $data)

Set the session to the given array.

startSession()

Start the session for the application.

flushSession()

Flush all of the current session data.

mixed
freezeTime(null|callable $callback = null)

Freeze time.

mixed
freezeSecond(null|callable $callback = null)

Freeze time at the beginning of the current second.

travel(int $value)

Begin travelling to another time.

mixed
travelTo(null|bool|CarbonInterface|Closure|DateTimeInterface|string $date, null|callable $callback = null)

Travel to another time.

CarbonInterface
travelBack()

Travel back to the current time.

void
setUpTheTestEnvironment()

Set up the test environment.

void
tearDownTheTestEnvironment()

Clean up the testing environment before the next test.

array
setUpTraits()

Boot the testing helper traits.

void
setUpDatabaseTraits(array $uses)

Set up database-related testing traits.

static void
tearDownAfterClassUsingTestCase()

Clean up the testing environment before the next test case.

afterApplicationCreated(callable $callback)

Register a callback to be run after the application is created.

beforeApplicationDestroyed(callable $callback)

Register a callback to be run before the application is destroyed.

callBeforeApplicationDestroyedCallbacks()

Execute the application's pre-destruction callbacks.

void
preserveTransactionContext()

Preserve transaction manager context for the test coroutine.

void
runInCoroutine(callable $callback)

Ensure callback is executed in coroutine.

view(string $view, Arrayable|array $data = [])

Create a new TestView from the given view.

blade(string $template, Arrayable|array $data = [])

Render the contents of the given Blade template string.

component(string $componentClass, Arrayable|array $data = [])

Render the given view component.

withViewErrors(array $errors, string $key = 'default')

Populate the shared view error bag with the given errors.

$this
expectsEvents(array|string $events)

Specify a list of events that should be fired for the given operation.

$this
doesntExpectEvents(array|string $events)

Specify a list of events that should not be fired for the given operation.

$this
withoutEvents()

Mock the event dispatcher so all events are silenced and collected.

array
getFiredEvents(array $events)

Filter the given events against the fired events.

array
getDispatched(array $classes, array $dispatched)

Filter the given classes against an array of dispatched classes.

bool
wasDispatched(string $needle, array $haystack)

Check if the given class exists in an array of dispatched classes.

mixed
invokeTestMethod(string $methodName, array $testArguments)

Invoke the test method inside a Swoole coroutine container.

bool
runsTestsInCoroutine()

Determine whether tests run in a coroutine.

bool
shouldBootFrameworkForTest()

Determine if the test method should boot the framework.

void
invokeSetupInCoroutine()

No description

void
invokeTearDownInCoroutine(callable $capture)

No description

void
clearNonCoroutineTransactionContext()

Clear transaction context from non-coroutine storage before test starts.

void
cleanupTestContext()

Clean up Context keys that cause test pollution.

void
tearDownTheTestEnvironmentUsingMockery()

Tear down the testing environment using Mockery.

void
setUpFaker()

Set up the Faker instance.

Generator
faker(string|null $locale = null)

Get the default Faker instance for a given locale.

Generator
makeFaker(string|null $locale = null)

Create a Faker instance for the given locale.

void
setUp()

Set up the test environment.

void
refreshApplication()

Refresh the application instance.

createApplication()

Create the application.

void
tearDown()

Clean up the testing environment before the next test.

bool
withoutBootingFramework()

Determine if the test method should run without booting the framework.

static void
tearDownAfterClass()

Clean up the testing environment before the next test case.

Details

protected mixed swap(string $abstract, mixed $instance)

Register an instance of an object in the container.

Parameters

string $abstract
mixed $instance

Return Value

mixed

protected mixed instance(string $abstract, mixed $instance)

Register an instance of an object in the container.

Parameters

string $abstract
mixed $instance

Return Value

mixed

protected MockInterface mock(string $abstract, Closure|null $mock = null)

Mock an instance of an object in the container.

Parameters

string $abstract
Closure|null $mock

Return Value

MockInterface

protected MockInterface partialMock(string $abstract, Closure|null $mock = null)

Mock a partial instance of an object in the container.

Parameters

string $abstract
Closure|null $mock

Return Value

MockInterface

protected MockInterface spy(string $abstract, Closure|null $mock = null)

Spy an instance of an object in the container.

Parameters

string $abstract
Closure|null $mock

Return Value

MockInterface

protected InteractsWithContainer forgetMock(string $abstract)

Instruct the container to forget a previously mocked / spied instance of an object.

Parameters

string $abstract

Return Value

InteractsWithContainer

protected InteractsWithContainer withoutVite()

Register a Vite handler that returns empty strings for all assets.

Return Value

InteractsWithContainer

HtmlString __invoke(string|array $entrypoints, string|null $buildDirectory = null)

No description

Parameters

string|array $entrypoints
string|null $buildDirectory

Return Value

HtmlString

mixed __call(string $method, array $parameters)

No description

Parameters

string $method
array $parameters

Return Value

mixed

string __toString()

No description

Return Value

string

InteractsWithContainer useIntegrityKey(string|false $key)

No description

Parameters

string|false $key

Return Value

InteractsWithContainer

InteractsWithContainer useBuildDirectory(string $path)

No description

Parameters

string $path

Return Value

InteractsWithContainer

InteractsWithContainer useHotFile(string $path)

No description

Parameters

string $path

Return Value

InteractsWithContainer

InteractsWithContainer withEntryPoints(array $entryPoints)

No description

Parameters

array $entryPoints

Return Value

InteractsWithContainer

InteractsWithContainer useScriptTagAttributes(array|callable $attributes)

No description

Parameters

array|callable $attributes

Return Value

InteractsWithContainer

InteractsWithContainer useStyleTagAttributes(array|callable $attributes)

No description

Parameters

array|callable $attributes

Return Value

InteractsWithContainer

InteractsWithContainer usePreloadTagAttributes(array|callable|false $attributes)

No description

Parameters

array|callable|false $attributes

Return Value

InteractsWithContainer

array preloadedAssets()

No description

Return Value

array

HtmlString reactRefresh()

No description

Return Value

HtmlString

string content(string $asset, string|null $buildDirectory = null)

No description

Parameters

string $asset
string|null $buildDirectory

Return Value

string

string asset(string $asset, string|null $buildDirectory = null)

No description

Parameters

string $asset
string|null $buildDirectory

Return Value

string

in MakesHttpRequests at line 73
MakesHttpRequests withHeaders(array $headers)

Define additional headers to be sent with the request.

Parameters

array $headers

Return Value

MakesHttpRequests

in MakesHttpRequests at line 83
MakesHttpRequests withHeader(string $name, string $value)

Add a header to be sent with the request.

Parameters

string $name
string $value

Return Value

MakesHttpRequests

in MakesHttpRequests at line 93
MakesHttpRequests withoutHeader(string $name)

Remove a header from the request.

Parameters

string $name

Return Value

MakesHttpRequests

in MakesHttpRequests at line 103
MakesHttpRequests withoutHeaders(array $headers)

Remove headers from the request.

Parameters

array $headers

Return Value

MakesHttpRequests

in MakesHttpRequests at line 115
MakesHttpRequests withToken(string $token, string $type = 'Bearer')

Add an authorization token for the request.

Parameters

string $token
string $type

Return Value

MakesHttpRequests

in MakesHttpRequests at line 123
MakesHttpRequests withBasicAuth(string $username, string $password)

Add a basic authentication header to the request with the given credentials.

Parameters

string $username
string $password

Return Value

MakesHttpRequests

in MakesHttpRequests at line 131
MakesHttpRequests withoutToken()

Remove the authorization token from the request.

Return Value

MakesHttpRequests

in MakesHttpRequests at line 139
MakesHttpRequests flushHeaders()

Flush all the configured headers.

Return Value

MakesHttpRequests

in MakesHttpRequests at line 149
MakesHttpRequests withServerVariables(array $server)

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

Parameters

array $server

Return Value

MakesHttpRequests

in MakesHttpRequests at line 161
MakesHttpRequests withoutMiddleware(null|array|string $middleware = null)

Disable middleware for the test.

Parameters

null|array|string $middleware

Return Value

MakesHttpRequests

in MakesHttpRequests at line 181
MakesHttpRequests withMiddleware(null|array|string $middleware = null)

Enable the given middleware for the test.

Parameters

null|array|string $middleware

Return Value

MakesHttpRequests

in MakesHttpRequests at line 199
MakesHttpRequests withCookies(array $cookies)

Define additional cookies to be sent with the request.

Parameters

array $cookies

Return Value

MakesHttpRequests

in MakesHttpRequests at line 209
MakesHttpRequests withCookie(string $name, string $value)

Add a cookie to be sent with the request.

Parameters

string $name
string $value

Return Value

MakesHttpRequests

in MakesHttpRequests at line 219
MakesHttpRequests withUnencryptedCookies(array $cookies)

Define additional cookies that will not be encrypted before sending with the request.

Parameters

array $cookies

Return Value

MakesHttpRequests

in MakesHttpRequests at line 229
MakesHttpRequests withUnencryptedCookie(string $name, string $value)

Add a cookie that will not be encrypted before sending with the request.

Parameters

string $name
string $value

Return Value

MakesHttpRequests

in MakesHttpRequests at line 239
MakesHttpRequests followingRedirects()

Automatically follow any redirects returned from the response.

Return Value

MakesHttpRequests

in MakesHttpRequests at line 249
MakesHttpRequests withCredentials()

Include cookies and authorization headers for JSON requests.

Return Value

MakesHttpRequests

in MakesHttpRequests at line 259
MakesHttpRequests disableCookieEncryption()

Disable automatic encryption of cookie values.

Return Value

MakesHttpRequests

in MakesHttpRequests at line 269
MakesHttpRequests from(string $url)

Set the referer header and previous URL session value in order to simulate a previous request.

Parameters

string $url

Return Value

MakesHttpRequests

in MakesHttpRequests at line 279
MakesHttpRequests fromRoute(BackedEnum|string $name, mixed $parameters = [])

Set the referer header and previous URL session value from a given route in order to simulate a previous request.

Parameters

BackedEnum|string $name
mixed $parameters

Return Value

MakesHttpRequests

in MakesHttpRequests at line 287
MakesHttpRequests withPrecognition()

Set the Precognition header to "true".

Return Value

MakesHttpRequests

in MakesHttpRequests at line 295
TestResponse get(Stringable|string $uri, array $headers = [])

Visit the given URI with a GET request.

Parameters

Stringable|string $uri
array $headers

Return Value

TestResponse

in MakesHttpRequests at line 306
TestResponse getJson(Stringable|string $uri, array $headers = [], int $options = 0)

Visit the given URI with a GET request, expecting a JSON response.

Parameters

Stringable|string $uri
array $headers
int $options

Return Value

TestResponse

in MakesHttpRequests at line 314
TestResponse post(Stringable|string $uri, array $data = [], array $headers = [])

Visit the given URI with a POST request.

Parameters

Stringable|string $uri
array $data
array $headers

Return Value

TestResponse

in MakesHttpRequests at line 325
TestResponse postJson(Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Visit the given URI with a POST request, expecting a JSON response.

Parameters

Stringable|string $uri
array $data
array $headers
int $options

Return Value

TestResponse

in MakesHttpRequests at line 333
TestResponse put(Stringable|string $uri, array $data = [], array $headers = [])

Visit the given URI with a PUT request.

Parameters

Stringable|string $uri
array $data
array $headers

Return Value

TestResponse

in MakesHttpRequests at line 344
TestResponse putJson(Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Visit the given URI with a PUT request, expecting a JSON response.

Parameters

Stringable|string $uri
array $data
array $headers
int $options

Return Value

TestResponse

in MakesHttpRequests at line 352
TestResponse patch(Stringable|string $uri, array $data = [], array $headers = [])

Visit the given URI with a PATCH request.

Parameters

Stringable|string $uri
array $data
array $headers

Return Value

TestResponse

in MakesHttpRequests at line 363
TestResponse patchJson(Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Visit the given URI with a PATCH request, expecting a JSON response.

Parameters

Stringable|string $uri
array $data
array $headers
int $options

Return Value

TestResponse

in MakesHttpRequests at line 371
TestResponse delete(Stringable|string $uri, array $data = [], array $headers = [])

Visit the given URI with a DELETE request.

Parameters

Stringable|string $uri
array $data
array $headers

Return Value

TestResponse

in MakesHttpRequests at line 382
TestResponse deleteJson(Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Visit the given URI with a DELETE request, expecting a JSON response.

Parameters

Stringable|string $uri
array $data
array $headers
int $options

Return Value

TestResponse

in MakesHttpRequests at line 390
TestResponse options(Stringable|string $uri, array $data = [], array $headers = [])

Visit the given URI with an OPTIONS request.

Parameters

Stringable|string $uri
array $data
array $headers

Return Value

TestResponse

in MakesHttpRequests at line 401
TestResponse optionsJson(Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Visit the given URI with an OPTIONS request, expecting a JSON response.

Parameters

Stringable|string $uri
array $data
array $headers
int $options

Return Value

TestResponse

in MakesHttpRequests at line 409
TestResponse head(Stringable|string $uri, array $headers = [])

Visit the given URI with a HEAD request.

Parameters

Stringable|string $uri
array $headers

Return Value

TestResponse

in MakesHttpRequests at line 420
TestResponse query(Stringable|string $uri, array $data = [], array $headers = [])

Visit the given URI with a QUERY request.

Parameters

Stringable|string $uri
array $data
array $headers

Return Value

TestResponse

in MakesHttpRequests at line 431
TestResponse queryJson(Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Visit the given URI with a QUERY request, expecting a JSON response.

Parameters

Stringable|string $uri
array $data
array $headers
int $options

Return Value

TestResponse

in MakesHttpRequests at line 443
TestResponse json(string $method, Stringable|string $uri, array $data = [], array $headers = [], int $options = 0)

Call the given URI with a JSON request.

Parameters

string $method
Stringable|string $uri
array $data
array $headers
int $options

Return Value

TestResponse

in MakesHttpRequests at line 474
TestResponse call(string $method, Stringable|string $uri, array $parameters = [], array $cookies = [], array $files = [], array $server = [], string|null $content = null)

Call the given URI and return the Response.

Each test request runs in a fresh coroutine via the Waiter to ensure coroutine-local Context isolation. RequestContext is seeded because tests bypass the HttpServer\Server adapter which normally does this in onRequest().

Parameters

string $method
Stringable|string $uri
array $parameters
array $cookies
array $files
array $server
string|null $content

Return Value

TestResponse

in MakesHttpRequests at line 546
protected string prepareUrlForRequest(Stringable|string $uri)

Turn the given URI into a fully-qualified URL.

Parameters

Stringable|string $uri

Return Value

string

in MakesHttpRequests at line 560
protected void syncRequestContextToParent(Request $request)

Sync durable request Context state to the test coroutine.

Parameters

Request $request

Return Value

void

in MakesHttpRequests at line 577
protected array sessionContextSnapshot(Request $request)

Get a snapshot of durable session Context state for the completed request.

Parameters

Request $request

Return Value

array

in MakesHttpRequests at line 600
protected array sessionContextKeys()

Get durable session Context keys.

Return Value

array

in MakesHttpRequests at line 619
protected array sessionStoreContextKeys(Store $session)

Get the Context keys for the given session store.

Parameters

Store $session

Return Value

array

in MakesHttpRequests at line 635
protected array authenticationContextKeys()

Get durable authentication Context keys.

Return Value

array

in MakesHttpRequests at line 653
protected array transformHeadersToServerVars(array $headers)

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

Parameters

array $headers

Return Value

array

in MakesHttpRequests at line 665
protected string formatServerHeaderKey(string $name)

Format the header name for the server array.

Parameters

string $name

Return Value

string

in MakesHttpRequests at line 677
protected array extractFilesFromDataArray(array $data)

Extract the file uploads from the given data array.

Parameters

array $data

Return Value

array

in MakesHttpRequests at line 701
protected array prepareCookiesForRequest()

If enabled, encrypt cookie values for request.

Return Value

array

in MakesHttpRequests at line 716
protected array prepareCookiesForJsonRequest()

Prepare cookies for JSON requests.

Return Value

array

in MakesHttpRequests at line 725
protected TestResponse followRedirects(mixed $response)

Follow a redirect chain until a non-redirect is received.

Parameters

mixed $response

Return Value

TestResponse

in MakesHttpRequests at line 739
protected Request createTestRequest(Request $symfonyRequest)

Create the request instance used for testing from the given Symfony request.

Parameters

Request $symfonyRequest

Return Value

Request

in MakesHttpRequests at line 748
protected TestResponse createTestResponse(mixed $response, Request|null $request = null)

Create the test response instance from the given response.

Parameters

mixed $response
Request|null $request

Return Value

TestResponse

in MakesHttpRequests at line 765
protected void dispatchRequestLifecycleEvent(string $eventClass, Request $request, Response|null $response = null)

Dispatch a request lifecycle event if enabled.

Tests bypass the HttpServer\Server adapter, so lifecycle events must be dispatched here for Telescope and other watchers to work in test contexts.

Parameters

string $eventClass
Request $request
Response|null $response

Return Value

void

in MakesHttpRequests at line 790
protected Waiter getWaiter()

Get the coroutine waiter for test requests.

Return Value

Waiter

InteractsWithAuthentication actingAs(Authenticatable $user, string|null $guard = null)

Set the currently logged in user for the application.

Parameters

Authenticatable $user
string|null $guard

Return Value

InteractsWithAuthentication

InteractsWithAuthentication actingAsGuest(string|null $guard = null)

Clear the currently logged in user for the application.

Parameters

string|null $guard

Return Value

InteractsWithAuthentication

InteractsWithAuthentication be(Authenticatable $user, string|null $guard = null)

Set the currently logged in user for the application.

Parameters

Authenticatable $user
string|null $guard

Return Value

InteractsWithAuthentication

InteractsWithAuthentication assertAuthenticated(string|null $guard = null)

Assert that the user is authenticated.

Parameters

string|null $guard

Return Value

InteractsWithAuthentication

InteractsWithAuthentication assertGuest(string|null $guard = null)

Assert that the user is not authenticated.

Parameters

string|null $guard

Return Value

InteractsWithAuthentication

protected bool isAuthenticated(string|null $guard = null)

Return true if the user is authenticated, false otherwise.

Parameters

string|null $guard

Return Value

bool

InteractsWithAuthentication assertAuthenticatedAs(Authenticatable $user, string|null $guard = null)

Assert that the user is authenticated as the given user.

Parameters

Authenticatable $user
string|null $guard

Return Value

InteractsWithAuthentication

InteractsWithAuthentication assertCredentials(array $credentials, string|null $guard = null)

Assert that the given credentials are valid.

Parameters

array $credentials
string|null $guard

Return Value

InteractsWithAuthentication

InteractsWithAuthentication assertInvalidCredentials(array $credentials, string|null $guard = null)

Assert that the given credentials are invalid.

Parameters

array $credentials
string|null $guard

Return Value

InteractsWithAuthentication

protected bool hasCredentials(array $credentials, string|null $guard = null)

Return true if the credentials are valid, false otherwise.

Parameters

array $credentials
string|null $guard

Return Value

bool

int|PendingCommand artisan(string $command, array $parameters = [])

Alias of command method.

Parameters

string $command
array $parameters

Return Value

int|PendingCommand

int|PendingCommand command(string $command, array $parameters = [])

Call Hypervel command and return code.

Parameters

string $command
array $parameters

Return Value

int|PendingCommand

protected InteractsWithConsole withoutMockingConsoleOutput()

Disable mocking the console output.

When using this with traits like DatabaseMigrations, call this in setUp() BEFORE parent::setUp() to ensure mock output is never bound.

Return Value

InteractsWithConsole

protected $this assertDatabaseHas(Model>|Model|Model>|string $table, array $data = [], null|string $connection = null)

Assert that a given where condition exists in the database.

Parameters

Model>|Model|Model>|string $table
array $data
null|string $connection

Return Value

$this

protected $this assertDatabaseMissing(Model>|Model|Model>|string $table, array $data = [], null|string $connection = null)

Assert that a given where condition does not exist in the database.

Parameters

Model>|Model|Model>|string $table
array $data
null|string $connection

Return Value

$this

protected $this assertDatabaseCount(Model|string $table, int $count, null|string $connection = null)

Assert the count of table entries.

Parameters

Model|string $table
int $count
null|string $connection

Return Value

$this

protected $this assertDatabaseEmpty(Model>|Model|Model>|Model|string>|string $table, null|string $connection = null)

Assert that the given table or tables has no entries.

Parameters

Model>|Model|Model>|Model|string>|string $table
null|string $connection

Return Value

$this

protected $this assertSoftDeleted(Model>|Model|Model>|Model|string>|string $table, array $data = [], null|string $connection = null, null|string $deletedAtColumn = 'deleted_at')

Assert the given record has been "soft deleted".

Parameters

Model>|Model|Model>|Model|string>|string $table
array $data
null|string $connection
null|string $deletedAtColumn

Return Value

$this

protected $this assertNotSoftDeleted(Model>|Model|Model>|Model|string>|string $table, array $data = [], null|string $connection = null, null|string $deletedAtColumn = 'deleted_at')

Assert the given record has not been "soft deleted".

Parameters

Model>|Model|Model>|Model|string>|string $table
array $data
null|string $connection
null|string $deletedAtColumn

Return Value

$this

protected $this assertModelExists(Model>|Model|Model>|string $model)

Assert the given model exists in the database.

Parameters

Model>|Model|Model>|string $model

Return Value

$this

protected $this assertModelMissing(Model>|Model|Model>|string $model)

Assert the given model does not exist in the database.

Parameters

Model>|Model|Model>|string $model

Return Value

$this

$this expectsDatabaseQueryCount(int $expected, null|string $connection = null)

Specify the number of database queries that should occur throughout the test.

Parameters

int $expected
null|string $connection

Return Value

$this

protected bool isSoftDeletableModel(mixed $model)

Determine if the argument is a soft deletable model.

Parameters

mixed $model

Return Value

bool

Expression castAsJson(array|object|string $value, null|string $connection = null)

Cast a JSON string to a database compatible type.

Parameters

array|object|string $value
null|string $connection

Return Value

Expression

protected Connection getConnection(null|string $connection = null, null|Model>|Model|string $table = null)

Get the database connection.

Parameters

null|string $connection
null|Model>|Model|string $table

Return Value

Connection

protected string getTable(Model>|Model|string $table)

Get the table name from the given model or string.

Parameters

Model>|Model|string $table

Return Value

string

protected null|string getTableConnection(Model>|Model|string $table)

Get the table connection specified in the given model.

Parameters

Model>|Model|string $table

Return Value

null|string

protected string getDeletedAtColumn(string $table, string $defaultColumnName = 'deleted_at')

Get the table column name used for soft deletes.

Parameters

string $table
string $defaultColumnName

Return Value

string

protected null|Model newModelFor(Model|string $table)

Get the model entity from the given model or string.

Parameters

Model|string $table

Return Value

null|Model

InteractsWithDatabase seed(array|string $class = 'Database\Seeders\DatabaseSeeder')

Seed a given database connection.

Parameters

array|string $class

Return Value

InteractsWithDatabase

protected InteractsWithDeprecationHandling withDeprecationHandling()

Restore deprecation handling.

protected InteractsWithDeprecationHandling withoutDeprecationHandling()

Disable deprecation handling for the test.

protected void setEnvironmentValue(string $key, string $value)

Set an environment variable for the current PHP process.

Parameters

string $key
string $value

Return Value

void

protected void unsetEnvironmentValue(string $key)

Unset an environment variable for the current PHP process.

Parameters

string $key

Return Value

void

in ReflectsClosures at line 25
protected string firstClosureParameterType(Closure $closure)

Get the class name of the first parameter of the given Closure.

Parameters

Closure $closure

Return Value

string

Exceptions

ReflectionException
RuntimeException

in ReflectsClosures at line 48
protected array firstClosureParameterTypes(Closure $closure)

Get the class names of the first parameter of the given Closure, including union types.

Parameters

Closure $closure

Return Value

array

Exceptions

ReflectionException
RuntimeException

in ReflectsClosures at line 74
protected array closureParameterTypes(Closure $closure)

Get the class names / types of the parameters of the given Closure.

Parameters

Closure $closure

Return Value

array

Exceptions

ReflectionException

in ReflectsClosures at line 94
protected array closureReturnTypes(Closure $closure)

Get the class names / types of the return type of the given Closure.

Parameters

Closure $closure

Return Value

array

Exceptions

ReflectionException

protected InteractsWithExceptionHandling withExceptionHandling()

Restore exception handling.

protected InteractsWithExceptionHandling handleExceptions(array $exceptions)

Only handle the given exceptions via the exception handler.

Parameters

array $exceptions

Return Value

InteractsWithExceptionHandling

protected InteractsWithExceptionHandling handleValidationExceptions()

Only handle validation exceptions via the exception handler.

protected InteractsWithExceptionHandling withoutExceptionHandling(array $except = [])

Disable exception handling for the test.

Parameters

array $except

Return Value

InteractsWithExceptionHandling

__construct(ExceptionHandler $originalHandler, array $except = [])

No description

Parameters

ExceptionHandler $originalHandler
array $except

void report(Throwable $e)

Report or log an exception.

Parameters

Throwable $e

Return Value

void

bool shouldReport(Throwable $e)

Determine if the exception should be reported.

Parameters

Throwable $e

Return Value

bool

Response render(Request $request, Throwable $e)

Render an exception into an HTTP response.

Parameters

Request $request
Throwable $e

Return Value

Response

Exceptions

Throwable

void renderForConsole(OutputInterface $output, Throwable $e)

Render an exception to the console.

Parameters

OutputInterface $output
Throwable $e

Return Value

void

void afterResponse(callable $callback)

Register a callback to be called after an HTTP error response is rendered.

Parameters

callable $callback

Return Value

void

protected void assertRouteMiddlewareRunsBefore(string $routeName, string $before, string $after)

Assert route middleware runtime order.

Parameters

string $routeName
string $before
string $after

Return Value

void

protected array resolvedMiddlewareForRoute(string $routeName)

Get resolved runtime middleware for a named route.

Parameters

string $routeName

Return Value

array

InteractsWithSession withSession(array $data)

Set the session to the given array.

Parameters

array $data

Return Value

InteractsWithSession

InteractsWithSession session(array $data)

Set the session to the given array.

Parameters

array $data

Return Value

InteractsWithSession

protected InteractsWithSession startSession()

Start the session for the application.

Return Value

InteractsWithSession

InteractsWithSession flushSession()

Flush all of the current session data.

Return Value

InteractsWithSession

in InteractsWithTime at line 22
mixed freezeTime(null|callable $callback = null)

Freeze time.

Parameters

null|callable $callback

Return Value

mixed

in InteractsWithTime at line 35
mixed freezeSecond(null|callable $callback = null)

Freeze time at the beginning of the current second.

Parameters

null|callable $callback

Return Value

mixed

in InteractsWithTime at line 45
Wormhole travel(int $value)

Begin travelling to another time.

Parameters

int $value

Return Value

Wormhole

in InteractsWithTime at line 57
mixed travelTo(null|bool|CarbonInterface|Closure|DateTimeInterface|string $date, null|callable $callback = null)

Travel to another time.

Parameters

null|bool|CarbonInterface|Closure|DateTimeInterface|string $date
null|callable $callback

Return Value

mixed

in InteractsWithTime at line 73
CarbonInterface travelBack()

Travel back to the current time.

Return Value

CarbonInterface

protected void setUpTheTestEnvironment()

internal  
 

Set up the test environment.

Return Value

void

protected void tearDownTheTestEnvironment()

internal  
 

Clean up the testing environment before the next test.

Return Value

void

Exceptions

Throwable

protected array setUpTraits()

Boot the testing helper traits.

Return Value

array

protected void setUpDatabaseTraits(array $uses)

Set up database-related testing traits.

Override this method to customize database trait initialization order, e.g. to process test attributes before migrations run.

Parameters

array $uses

Return Value

void

static void tearDownAfterClassUsingTestCase()

internal  
 

Clean up the testing environment before the next test case.

Return Value

void

afterApplicationCreated(callable $callback)

Register a callback to be run after the application is created.

Parameters

callable $callback

protected beforeApplicationDestroyed(callable $callback)

Register a callback to be run before the application is destroyed.

Parameters

callable $callback

protected callBeforeApplicationDestroyedCallbacks()

Execute the application's pre-destruction callbacks.

protected void preserveTransactionContext()

Preserve transaction manager context for the test coroutine.

RefreshDatabase and DatabaseTransactions store transaction state in Context. Since setUpTraits runs in a temporary coroutine (separate from the test method's coroutine), we must copy this state to non-coroutine context. The test coroutine will then copy from non-coroutine context via copyFromNonCoroutine().

Return Value

void

protected void runInCoroutine(callable $callback)

Ensure callback is executed in coroutine.

Exceptions are captured and re-thrown outside the coroutine context so they propagate correctly to PHPUnit (e.g., for markTestSkipped).

Parameters

callable $callback

Return Value

void

in InteractsWithViews at line 22
protected TestView view(string $view, Arrayable|array $data = [])

Create a new TestView from the given view.

Parameters

string $view
Arrayable|array $data

Return Value

TestView

in InteractsWithViews at line 33
protected TestView blade(string $template, Arrayable|array $data = [])

Render the contents of the given Blade template string.

Parameters

string $template
Arrayable|array $data

Return Value

TestView

in InteractsWithViews at line 78
protected TestComponent component(string $componentClass, Arrayable|array $data = [])

Render the given view component.

Parameters

string $componentClass
Arrayable|array $data

Return Value

TestComponent

in InteractsWithViews at line 97
protected InteractsWithViews withViewErrors(array $errors, string $key = 'default')

Populate the shared view error bag with the given errors.

Parameters

array $errors
string $key

Return Value

InteractsWithViews

$this expectsEvents(array|string $events)

Specify a list of events that should be fired for the given operation.

These events will be mocked, so that handlers will not actually be executed.

Parameters

array|string $events

Return Value

$this

Exceptions

Exception

$this doesntExpectEvents(array|string $events)

Specify a list of events that should not be fired for the given operation.

These events will be mocked, so that handlers will not actually be executed.

Parameters

array|string $events

Return Value

$this

protected $this withoutEvents()

Mock the event dispatcher so all events are silenced and collected.

Return Value

$this

protected array getFiredEvents(array $events)

Filter the given events against the fired events.

Parameters

array $events

Return Value

array

protected array getDispatched(array $classes, array $dispatched)

Filter the given classes against an array of dispatched classes.

Parameters

array $classes
array $dispatched

Return Value

array

protected bool wasDispatched(string $needle, array $haystack)

Check if the given class exists in an array of dispatched classes.

Parameters

string $needle
array $haystack

Return Value

bool

protected mixed invokeTestMethod(string $methodName, array $testArguments)

Invoke the test method inside a Swoole coroutine container.

Uses PHPUnit 13's official extension point for customizing test method invocation. When coroutines are enabled and we're not already inside one, the test method runs inside Hypervel's coroutine container with full lifecycle management (context copying, setup/teardown hooks, cleanup).

Parameters

string $methodName
array $testArguments

Return Value

mixed

protected bool runsTestsInCoroutine()

Determine whether tests run in a coroutine.

Return Value

bool

at line 118
protected bool shouldBootFrameworkForTest()

Determine if the test method should boot the framework.

Return Value

bool

in RunTestsInCoroutine at line 104
protected void invokeSetupInCoroutine()

No description

Return Value

void

in RunTestsInCoroutine at line 119
protected void invokeTearDownInCoroutine(callable $capture)

No description

Parameters

callable $capture

Return Value

void

in RunTestsInCoroutine at line 142
protected void clearNonCoroutineTransactionContext()

Clear transaction context from non-coroutine storage before test starts.

RefreshDatabase starts its wrapper transaction in setUp() (outside coroutine), storing it in nonCoroutineContext. We must preserve this data for copying into the coroutine. Only clear if there are no pending transactions (meaning any data is stale from a previous test that didn't clean up properly).

Return Value

void

in RunTestsInCoroutine at line 158
protected void cleanupTestContext()

Clean up Context keys that cause test pollution.

Only forgets specific keys known to leak between tests. Does not use CoroutineContext::flush() because that would flush data needed by defer callbacks (e.g., Redis connections waiting to be released).

Return Value

void

protected void tearDownTheTestEnvironmentUsingMockery()

Tear down the testing environment using Mockery.

Return Value

void

in WithFaker at line 20
protected void setUpFaker()

Set up the Faker instance.

Return Value

void

in WithFaker at line 28
protected Generator faker(string|null $locale = null)

Get the default Faker instance for a given locale.

Parameters

string|null $locale

Return Value

Generator

in WithFaker at line 36
protected Generator makeFaker(string|null $locale = null)

Create a Faker instance for the given locale.

Parameters

string|null $locale

Return Value

Generator

at line 58
protected void setUp()

Set up the test environment.

Return Value

void

at line 70
protected void refreshApplication()

Refresh the application instance.

Return Value

void

at line 78
protected Application createApplication()

Create the application.

Return Value

Application

at line 92
protected void tearDown()

Clean up the testing environment before the next test.

Return Value

void

Exceptions

Throwable

at line 126
protected bool withoutBootingFramework()

Determine if the test method should run without booting the framework.

Return Value

bool

at line 142
static void tearDownAfterClass()

Clean up the testing environment before the next test case.

Return Value

void