Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
18 lines
649 B
Markdown
18 lines
649 B
Markdown
# Schema Tests
|
|
|
|
This test works by validating cases of the payload against a schema.
|
|
To add a case, place a file in the `${schemaName}.schema.test.${success|failure}` folder.
|
|
A success case should validate, a failure case should throw a validation error.
|
|
|
|
## Handling of "$ref"
|
|
|
|
To allow testing definitions on their own, and reduce the size of individual cases,
|
|
every `"$ref"` in the schema will be replaced with `"const"` before validation.
|
|
This means that a case only has to define the pointer as a string. Example:
|
|
|
|
```yaml
|
|
default_browser_return_url: "#/definitions/defaultReturnTo"
|
|
hooks:
|
|
- "#/definitions/selfServiceSessionRevokerHook"
|
|
```
|