> ## Documentation Index
> Fetch the complete documentation index at: https://belajarkoding.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Testing dan readiness

> Dokumentasi lengkap untuk testing dan readiness di KilatKoding, termasuk env check, health check, lint, typecheck, test, Playwright, dan CI.

<Info>
  Fitur ini bukan fitur user-facing, tetapi sangat penting untuk memastikan setup, custom work, dan launch tetap aman. Area ini membantu tim memverifikasi bahwa perubahan yang dibuat tidak merusak readiness aplikasi.
</Info>

## Apa yang termasuk di fitur ini

* `npm run env:check`
* `GET /api/health`
* `npm run lint`
* `npm run typecheck`
* `npm test`
* Playwright
* GitHub Actions CI

## Route, endpoint, dan command terkait

| Jalur atau command   | Jenis    | Fungsi                                                                           |
| -------------------- | -------- | -------------------------------------------------------------------------------- |
| `GET /api/health`    | Endpoint | Health check untuk konfigurasi dan database                                      |
| `npm run env:check`  | Command  | Memeriksa kelengkapan dan konsistensi env dengan membaca `.env` dan `.env.local` |
| `npm run lint`       | Command  | Memeriksa kualitas linting                                                       |
| `npm run typecheck`  | Command  | Memeriksa error TypeScript                                                       |
| `npm test`           | Command  | Menjalankan test Vitest                                                          |
| `npm run e2e`        | Command  | Menjalankan test end-to-end Playwright                                           |
| `npm run e2e:headed` | Command  | Menjalankan Playwright dalam mode headed                                         |

<Note>
  Karena `npm run env:check` sekarang memuat file env dari working directory dengan pola yang sama seperti Next.js, hasilnya biasanya lebih dekat ke perilaku dev server yang sedang kamu pakai.
</Note>

## Dependensi utama

| Item               | Wajib?                          | Catatan                                    |
| ------------------ | ------------------------------- | ------------------------------------------ |
| Env yang benar     | Ya                              | Banyak check bergantung pada env readiness |
| Browser Playwright | Tergantung                      | Dibutuhkan untuk E2E                       |
| Base URL test      | Tergantung                      | Penting untuk Playwright                   |
| CI pipeline        | Opsional tapi sangat disarankan | Membantu menjaga kualitas sebelum deploy   |

## Yang biasanya dikustomisasi

* smoke test,
* staging URL,
* test data,
* jalur QA internal,
* kapan build dianggap siap deploy.

## Kapan fitur ini paling penting

* sebelum launch,
* sesudah custom besar,
* saat handoff ke developer atau klien lain,
* saat bug muncul di staging atau production.

## Checklist verifikasi

1. Setelah mengubah env, restart dev server lalu pastikan `npm run env:check` tidak menunjukkan active feature sebagai fallback yang tak disengaja.
2. `GET /api/health` sesuai ekspektasi.
3. `npm run lint` lolos.
4. `npm run typecheck` lolos.
5. `npm test` lolos.
6. Playwright minimal lolos untuk flow yang paling penting.

<Tip>
  Kalau kamu sedang persiapan launch, lanjutkan ke [Checklist launch](/kilatkoding/launch-checklists) dan [Testing recipes](/kilatkoding/testing-recipes).
</Tip>
