# Alfatih Client Centre 0.2.1 — pengesahan rebuild

- TypeScript: lulus.
- Semua 28 ujian automatik: lulus.
- Production build frontend/backend: lulus.
- app.cjs dimuatkan seperti Passenger: HTML dan assets berjaya, tajuk baharu
  betul, API tanpa login mendapat 401.
- Belum diuji pada akaun cPanel sebenar atau SMTP sebenar.

## Keputusan versi asas 0.2.0

# Keputusan ujian Alfatih Client Centre 0.2.0

Tarikh: 7 Oktober 2026. Runtime ujian: Node.js 24.19.0.

| Pemeriksaan                                    | Keputusan                                   |
| ---------------------------------------------- | ------------------------------------------- |
| `npm run lint` (strict TypeScript)             | Lulus                                       |
| `npm test`                                     | 28 lulus, 0 gagal, 0 skipped                |
| `npm run build` (React + backend)              | Lulus                                       |
| `npm audit --omit=dev --audit-level=high`      | 0 vulnerability dilaporkan ketika semakan   |
| Setup admin menggunakan native Node TypeScript | Lulus; database temp, password ujian sahaja |
| Backup SQLite melalui `npm run backup`         | Lulus                                       |
| Production `node server.js`                    | Lulus boot                                  |
| Production HTML dan asset JS                   | HTTP 200                                    |
| API data tanpa login                           | HTTP 401                                    |
| Login production                               | HTTP 200; cookie Secure dan HttpOnly        |

## Liputan 28 ujian automatik

- Auth API, same-origin, CSRF, HttpOnly cookie dan login rate limit.
- URL dalaman, reserved addresses, credentials/protocol/port yang tidak dibenarkan.
- DNS pinning, redirect ke IP dalaman, had saiz body dan timeout badan respons.
- Pengesanan error tanpa menganggap artikel tutorial atau code example sebagai DOWN.
- REST JSON, subfolder WordPress, REST blocked dan HTTP 204.
- DNS/TLS/timeout/connection error berasingan daripada monitor error.
- SQLite persistence, keputusan obsolete selepas URL berubah dan ID mapping.
- Failure threshold, maintenance, insiden, pemulihan dan retry 30 saat.
- Queue concurrency, duplicate jobs, server scheduling dan manual-only mode.
- Outbox deduplication, SMTP tiada/gagal/retry/pulih dan HTML escaping.
- Summary emel satu mesej; penerima tidak boleh dioverride melalui request.
- Export tidak mengandungi password hash atau session; password change revokes sessions.
- Bulk import line validation/duplicates, renewal date dan client email validation.
- Aliran React/JSDOM: login, input kekal selepas ralat, tambah website, sejarah,
  mesej SMTP sebenar, log emel dan logout.

## Batas ujian

Semakan website dan penghantaran SMTP menggunakan fixture/mock; tiada emel sebenar,
transaksi atau perubahan pada website client. API HTTP sebenar diuji pada localhost.
Aliran UI diuji dengan JSDOM, bukan screenshot browser sebenar; layout desktop/mobile
masih perlu diperiksa di hosting. Muat turun browser ujian tidak berjaya dalam
persekitaran ini. Docker/systemd disediakan sebagai template dan belum diuji di hosting.
Sebelum penggunaan harian, uji website client yang dibenarkan dan satu penghantaran
SMTP sebenar selepas konfigurasi deployment.
