# Manual Testing Checklist

## Telegram

- Jalankan `npm run dev`.
- Kirim `/start`.
- Pastikan menu utama muncul.
- Pilih `Forex Signal`.
- Pilih `EURUSD`.
- Pilih `Intraday`.
- Pastikan signal card muncul.
- Tekan `Refresh Signal`.
- Tekan `Add Watchlist`.
- Jalankan `/watchlist`.
- Jalankan `/settings`.
- Ketik `XAUUSD buy atau sell`.
- Ketik `GBPJPY scalping`.

## Risk and Trading

- Pastikan signal `WAIT` tidak menampilkan tombol trade.
- Pastikan signal `BUY` atau `SELL` menampilkan `Paper Trade`.
- Tekan `Paper Trade`.
- Pastikan trade tersimpan di `data/paper-trades.json`.
- Ubah `MAX_OPEN_TRADES=0`, restart, lalu pastikan order ditolak.
- Ubah `RISK_PER_TRADE_PERCENT=5`, restart, lalu pastikan setting tampil benar.

## Error Handling

- Set `MARKET_DATA_PROVIDER=twelvedata` tanpa API key, bot harus fallback ke demo.
- Kosongkan `TELEGRAM_BOT_TOKEN`, `npm run dev` harus gagal dengan pesan konfigurasi yang aman.
- Isi `ALLOWED_TELEGRAM_USER_IDS` dengan ID lain, user yang tidak masuk list harus ditolak.

## Quality Gates

```bash
npm run lint
npm run typecheck
npm run test
npm run build
npm run smoke
```
