Skip to content
View Markdown

Loading documentation…

Testing your integration

Verify requests, parsing, and recovery using an authorized test event.

Test against an organization and event you are authorized to use. A local .test.test hostname is a development environment, not a publicly available Paydro sandbox.

Prepare test data

Create or obtain a test event through your organization’s normal workflow. Use synthetic attendee names and addresses, a small product list, and example orders. Record the event UUID separately from its public shop slug.

Verify read requests

  1. Retrieve the event and confirm its identifier.

  2. Retrieve ticket products and check their IDs and price representations.

  3. Retrieve order and attendee lists and verify relationships by ID.

  4. Try an empty result and a subsequent page.

  5. Check incorrect credentials and an inaccessible identifier.

Verify writes

Test product creation/editing, a validation failure, a foreign identifier and the returned success fields using synthetic records. Re-read each resource afterwards. Use isolated waiting-list and attendee records for invitation/answer tests; explicitly account for queued mail and replacement codes. Payment/provider actions require your approved payment test setup.

The published request/response examples are synthetic and schema-validated. Documentation discovery also probed local read shapes and deliberately rejected product, invitation, attendee and scan writes before saving. Successful note creation/editing and category editing are additionally exercised through controllers with real models and synthetic records in an isolated test database; the note boolean serializer and persisted values are checked. These tests replace account access and cache invalidation dependencies and do not represent a complete HTTP authentication test. Other successful writes, binary downloads, continuous stage streaming and email/provider delivery remain source-reviewed. This verification boundary is recorded in the OpenAPI descriptions.

Verification coverage

Check What it demonstrates What still needs integration verification
OpenAPI validation and synthetic examples Standard structure, field constraints, conditional question options and four language samples. Schema validity does not prove a server save or side effect.
Local fixture HTTP reads and rejected writes Selected serializers, authentication, resource shapes and rejection boundaries. Successful mutation paths and all role combinations.
Isolated successful note/category writes Real model persistence, note JSON boolean results, parent/author assignment and cross-event category rejection. End-to-end authorization, shared cache invalidation and the remaining write operations.
Stage authorization tests Editor access and rejection of foreign state/unsupported write methods. State replacement over HTTP, SSE reconnection and concurrent writers.
Invitations, uploads/downloads and payments Documented controller/model behavior and synthetic request formats. Mail receipt, uploaded/downloaded file bytes and sandbox payment-provider outcomes.

For a successful write test, record the resource before the request, assert the documented success field, re-read persisted fields, and verify that another event cannot change it. Use dedicated mail addresses and provider test credentials when exercising external effects. The recipes provide complete catalog and invitation/answer sequences.

Recover synchronization

Run a full synchronization, interrupt it, and repeat it. Upserting by ID should produce the same local result without duplicated records. Test a changed record, a cancelled order, a deletion notification, and a resynchronization after the weekly delta window has changed.

Embedding and checkout

Read API tests do not verify a payment flow. When embedding, test registration, validation, responsive behavior, and the checkout handoff using the organization’s approved payment test configuration. Keep live payment credentials out of test flows.

Move to production

Replace the origin and identifiers deliberately; keep credentials in your secret manager. Review the go live checklist and confirm the first production read before enabling scheduled imports.