class AssertableJsonString implements ArrayAccess, Countable (View source)

Properties

Jsonable|JsonSerializable|array|string $json

The original encoded json.

protected array|null $decoded

The decoded json contents.

Methods

void
__construct(Jsonable|JsonSerializable|array|string $jsonable)

Create a new assertable JSON string instance.

mixed
json(string|null $key = null)

Validate and return the decoded response JSON.

$this
assertCount(int $count, string|null $key = null)

Assert that the response JSON has the expected count of items at the given key.

$this
assertExact(array $data)

Assert that the response has the exact given JSON.

$this
assertSimilar(array $data)

Assert that the response has the similar JSON as given.

$this
assertFragment(array $data)

Assert that the response contains the given JSON fragment.

$this
assertMissing(array $data, bool $exact = false)

Assert that the response does not contain the given JSON fragment.

$this
assertMissingExact(array $data)

Assert that the response does not contain the exact JSON fragment.

$this
assertMissingPath(string $path)

Assert that the response does not contain the given path.

$this
assertPath(string $path, mixed $expect)

Assert that the expected value and type exists at the given path in the response.

$this
assertPathCanonicalizing(string $path, array $expect)

Assert that the given path in the response contains all of the expected values without looking at the order.

$this
assertStructure(array|null $structure = null, array|null $responseData = null, bool $exact = false)

Assert that the response has a given JSON structure.

$this
assertSubset(array $data, bool $strict = false)

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

array
reorderAssocKeys(array $data)

Reorder associative array keys to make it easy to compare arrays.

string
assertJsonMessage(array $data)

Get the assertion message for assertJson.

array
jsonSearchStrings(string $key, string $value)

Get the strings we need to search for when examining the JSON.

int
count()

Get the total number of items in the underlying JSON array.

bool
offsetExists(mixed $offset)

Determine whether an offset exists.

mixed
offsetGet(string $offset)

Get the value at the given offset.

void
offsetSet(string $offset, mixed $value)

Set the value at the given offset.

void
offsetUnset(string $offset)

Unset the value at the given offset.

Details

void __construct(Jsonable|JsonSerializable|array|string $jsonable)

Create a new assertable JSON string instance.

Parameters

Jsonable|JsonSerializable|array|string $jsonable

Return Value

void

mixed json(string|null $key = null)

Validate and return the decoded response JSON.

Parameters

string|null $key

Return Value

mixed

$this assertCount(int $count, string|null $key = null)

Assert that the response JSON has the expected count of items at the given key.

Parameters

int $count
string|null $key

Return Value

$this

$this assertExact(array $data)

Assert that the response has the exact given JSON.

Parameters

array $data

Return Value

$this

$this assertSimilar(array $data)

Assert that the response has the similar JSON as given.

Parameters

array $data

Return Value

$this

$this assertFragment(array $data)

Assert that the response contains the given JSON fragment.

Parameters

array $data

Return Value

$this

$this assertMissing(array $data, bool $exact = false)

Assert that the response does not contain the given JSON fragment.

Parameters

array $data
bool $exact

Return Value

$this

$this assertMissingExact(array $data)

Assert that the response does not contain the exact JSON fragment.

Parameters

array $data

Return Value

$this

$this assertMissingPath(string $path)

Assert that the response does not contain the given path.

Parameters

string $path

Return Value

$this

$this assertPath(string $path, mixed $expect)

Assert that the expected value and type exists at the given path in the response.

Parameters

string $path
mixed $expect

Return Value

$this

$this assertPathCanonicalizing(string $path, array $expect)

Assert that the given path in the response contains all of the expected values without looking at the order.

Parameters

string $path
array $expect

Return Value

$this

$this assertStructure(array|null $structure = null, array|null $responseData = null, bool $exact = false)

Assert that the response has a given JSON structure.

Parameters

array|null $structure
array|null $responseData
bool $exact

Return Value

$this

$this assertSubset(array $data, bool $strict = false)

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

Parameters

array $data
bool $strict

Return Value

$this

protected array reorderAssocKeys(array $data)

Reorder associative array keys to make it easy to compare arrays.

Parameters

array $data

Return Value

array

protected string assertJsonMessage(array $data)

Get the assertion message for assertJson.

Parameters

array $data

Return Value

string

protected array jsonSearchStrings(string $key, string $value)

Get the strings we need to search for when examining the JSON.

Parameters

string $key
string $value

Return Value

array

int count()

Get the total number of items in the underlying JSON array.

Return Value

int

bool offsetExists(mixed $offset)

Determine whether an offset exists.

Parameters

mixed $offset

Return Value

bool

mixed offsetGet(string $offset)

Get the value at the given offset.

Parameters

string $offset

Return Value

mixed

void offsetSet(string $offset, mixed $value)

Set the value at the given offset.

Parameters

string $offset
mixed $value

Return Value

void

void offsetUnset(string $offset)

Unset the value at the given offset.

Parameters

string $offset

Return Value

void

Laravel Cloud is the best place to deploy Laravel, Nuxt, Express, Hono, Node.js, Bun, Go, Flask, Python, and more, with dedicated infrastructure available on AWS through Laravel Private Cloud.