Lewati ke konten

Testing

Terminal window
pnpm test # vitest di packages/pos-core
pnpm typecheck # semua aplikasi dan paket
Tes Yang dijaga
tests/totals.test.ts Hitung total; fixture sama dengan API
tests/receipt.test.ts Isi struk, belum dibayar, cap batal
tests/outbox.test.ts Offline, restart, flush berhenti saat jaringan putus, penolakan, token staf
Terminal window
pnpm test

Vitest di runtime Workers (miniflare) dengan D1 sungguhan lokal. Cakupan: transaksi, identitas, shift, F&B, self-order publik (10 skenario keamanan), voice, retail, laporan, dan isolasi lintas tenant.

Alur Cek
Pairing Kode dari backoffice → POS terhubung; kode dicabut → POS kembali ke layar pairing
Retail Scan barcode (perangkat nyata) → keranjang → tunai dengan kembalian → struk → void → stok kembali
F&B Dine-in dengan meja → dapur → disajikan; bayar nanti lalu bayar dari Riwayat
Self-order Scan QR → pesan → terima di tab Masuk → status berubah di HP pelanggan
Offline Matikan jaringan → 3 transaksi → tutup paksa aplikasi → buka → nyalakan jaringan → 3 terkirim, tanpa ganda
Suara Kalimat nyata dengan dua item dan satu catatan; tolak izin mikrofon

Tim dataset menyusun korpus ucapan (≥ 100 kalimat teks dan ≥ 30 rekaman nyata) di navv-ci/apps/api/tests/fixtures/voice-corpus.json. Ambang yang ditetapkan sebelum pengukuran: teks ≥ 95% baris benar; audio end-to-end ≥ 85% setelah satu koreksi; 0 pesanan terkirim tanpa konfirmasi.