AssertableJsonString
class AssertableJsonString implements ArrayAccess, Countable
Properties
| Jsonable|JsonSerializable|array|string | $json | The original encoded json. |
|
| protected array|null | $decoded | The decoded json contents. |
Methods
Create a new assertable JSON string instance.
Validate and return the decoded response JSON.
Assert that the response JSON has the expected count of items at the given key.
Assert that the response has the exact given JSON.
Assert that the response has the similar JSON as given.
Assert that the response contains the given JSON fragment.
Assert that the response does not contain the given JSON fragment.
Assert that the response does not contain the exact JSON fragment.
Assert that the response does not contain the given path.
Assert that the expected value and type exists at the given path in the response.
Assert that the given path in the response contains all of the expected values without looking at the order.
Assert that the response has a given JSON structure.
Assert that the response is a superset of the given JSON.
Reorder associative array keys to make it easy to compare arrays.
Get the assertion message for assertJson.
Get the strings we need to search for when examining the JSON.
Get the total number of items in the underlying JSON array.
Determine whether an offset exists.
Get the value at the given offset.
Set the value at the given offset.
Unset the value at the given offset.
Details
at line 35
__construct(Jsonable|JsonSerializable|array|string $jsonable)
Create a new assertable JSON string instance.
at line 53
mixed
json(string|null $key = null)
Validate and return the decoded response JSON.
at line 61
AssertableJsonString
assertCount(int $count, string|null $key = null)
Assert that the response JSON has the expected count of items at the given key.
at line 85
AssertableJsonString
assertExact(array $data)
Assert that the response has the exact given JSON.
at line 102
AssertableJsonString
assertSimilar(array $data)
Assert that the response has the similar JSON as given.
at line 117
AssertableJsonString
assertFragment(array $data)
Assert that the response contains the given JSON fragment.
at line 142
AssertableJsonString
assertMissing(array $data, bool $exact = false)
Assert that the response does not contain the given JSON fragment.
at line 171
AssertableJsonString
assertMissingExact(array $data)
Assert that the response does not contain the exact JSON fragment.
at line 197
AssertableJsonString
assertMissingPath(string $path)
Assert that the response does not contain the given path.
at line 207
AssertableJsonString
assertPath(string $path, mixed $expect)
Assert that the expected value and type exists at the given path in the response.
at line 221
AssertableJsonString
assertPathCanonicalizing(string $path, array $expect)
Assert that the given path in the response contains all of the expected values without looking at the order.
at line 231
AssertableJsonString
assertStructure(array|null $structure = null, array|null $responseData = null, bool $exact = false)
Assert that the response has a given JSON structure.
at line 273
AssertableJsonString
assertSubset(array $data, bool $strict = false)
Assert that the response is a superset of the given JSON.
at line 288
protected array
reorderAssocKeys(array $data)
Reorder associative array keys to make it easy to compare arrays.
at line 305
protected string
assertJsonMessage(array $data)
Get the assertion message for assertJson.
at line 320
protected array
jsonSearchStrings(string|int $key, mixed $value)
Get the strings we need to search for when examining the JSON.
at line 334
int
count()
Get the total number of items in the underlying JSON array.
at line 342
bool
offsetExists(mixed $offset)
Determine whether an offset exists.
at line 350
mixed
offsetGet(mixed $offset)
Get the value at the given offset.
at line 358
void
offsetSet(mixed $offset, mixed $value)
Set the value at the given offset.
at line 366
void
offsetUnset(mixed $offset)
Unset the value at the given offset.