# Testirajapinta ja taikaarvot

`https://api-test-pp.keikkis.fi` ja `kl_test_`-avain.

- **Jokainen pyyntö tarkistetaan täsmälleen kuten tuotannossa**: samat kenttätarkistukset,
  omat työtyyppinne, oikea ALV keikan päivänä, työntekijäkohtainen summaraja ja keikan
  työntekijäraja. Mikä menee läpi täällä, menee läpi tuotannossa.
- **Vastaukset tulevat kiinteästä testidatasta ja pyynnöstä itsestään.** Mitään lähettämäänne ei
  tallenneta — ei edes lokiriviä. Tunnisteet johdetaan pyynnöstä (`gig_test_…`, `con_test_…`),
  joten sama pyyntö saa aina saman vastauksen.
- `GET /v1/work_types` ja `GET /v1/me` ovat oikeita.

## Taikaarvot

| Pyyntö | Testirajapinta vastaa |
|---|---|
| `POST /v1/connections`, mikä tahansa sähköposti | `pending` |
| sähköpostin alkuosa `active`, `declined`, `expired` tai `revoked` (esim. `active@example.com`) | se tila |
| `GET /v1/connections/:external_user_id`, pääte `_active`, `_declined`, `_expired`, `_revoked` | se tila |
| `POST /v1/gigs`, mikä tahansa kelvollinen keikka | luotu; jokainen työntekijä `received`, oikealla ALV:lla ja summilla |
| työntekijän `external_user_id` päättyy `_pending` | se työntekijä `awaiting_worker` |
| keikan `external_id` päättyy `_invoiced`, `_paid`, `_completed`, `_cancelled`, `_rejected` | jokainen työntekijä siinä tilassa; `invoiced` ja myöhemmät sisältävät testilaskun tiedot (`TEST`-numero ja -viite, testi-IBAN) |
| keikan `external_id` päättyy `_conflict` | `409 idempotency_conflict` |
| `GET /v1/gigs/:external_id` | testikeikka, jonka tila seuraa samoja päätteitä |
| `GET /v1/gigs`, `GET /v1/connections` | kiinteä lista, jossa on jokainen tila |
| `DELETE /v1/gigs/:id` | `204`; `409 already_invoiced`, kun tunniste päättyy `_invoiced`, `_paid` tai `_completed` |
| `?dry_run=true` | täsmälleen sama vastaus kuin tuotannossa |

Jokaisen validointivirheen saa esiin lähettämällä virheellisen arvon, esim. `"amount": 200`
(numero) antaa `invalid_amount`.

## Mitä testirajapinta ei näytä

- `GET` palauttaa testidataa, ei juuri lähettämäänne keikkaa.
- **Päiväkohtainen euroraja** vaatii tallennetut summat, joten se on käytössä vain tuotannossa.
