n8n-nodes-sahabat-xpert
Version:
n8n community node for Sahabat Xpert - Multi-platform business automation with Bizapp integration
176 lines (134 loc) โข 4.46 kB
Markdown
# Panduan Ujian Node EcommerceApi
Panduan ini menerangkan cara menguji kedua-dua fungsi dalam node EcommerceApi untuk memastikan ia berfungsi dengan betul.
## ๐ Prasyarat
1. **Secret Key Bizapp**: Anda memerlukan secret key yang sah dari Bizapp
2. **Node.js**: Pastikan Node.js dipasang di sistem anda
3. **Sambungan Internet**: Untuk mengakses API Bizapp
## ๐ Cara Menjalankan Ujian
### Langkah 1: Sediakan Secret Key
1. Buka fail `test_node_functions.js`
2. Cari baris:
```javascript
secretKey: '-your-secret-key-here', // Gantikan dengan secret key sebenar
```
3. Gantikan `-your-secret-key-here` dengan secret key Bizapp anda yang sebenar
### Langkah 2: Jalankan Ujian
```bash
# Masuk ke direktori n8n-nodes-ecommerce-api
cd n8n-nodes-ecommerce-api
# Jalankan ujian
node test_node_functions.js
```
## ๐งช Apa Yang Diuji
### Test 1: Get Product List
- **Endpoint**: `GET /v2/getproductlist/{secretkey}`
- **Tujuan**: Mengambil senarai produk dari Bizapp
- **Verifikasi**:
- Status code 200
- Response mengandungi `productinfo`
- Data produk (SKU, nama, harga, stok)
### Test 2: Submit Order
- **Endpoint**: `POST /v2/wooapi.php`
- **Tujuan**: Menghantar pesanan ke Bizapp
- **Data Ujian**:
- Customer: Ahmad Test
- Email: ahmad.test@gmail.com
- Phone: +60123456789
- Address: No 123, Jalan Test, 50000 Kuala Lumpur
- Product: SKU dari ujian pertama (atau dummy SKU)
- Payment: COD
- **Parameter Baru**: Transaction ID dan Payment Gateway ID
- **Verifikasi**:
- Status code 200
- Response API yang sah
## ๐ Output Yang Dijangka
### Ujian Berjaya
```
๐ MEMULAKAN UJIAN NODE ECOMMERCE API
=====================================
=== UJIAN 1: GET PRODUCT LIST ===
๐ก Menghantar request ke: https://woo.bizapp.my/v2/getproductlist/-your-secret
๐ง Method: GET
๐ Headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }
๐ RESPONSE:
Status Code: 200
Content-Type: application/json
โ
SUCCESS: API response received
๐ฆ Products found: 25
๐ Sample Product:
- SKU: PROD-001
- Name: Sample Product
- Price: 99.90
- Stock: 10
๐ฏ Menggunakan SKU produk sebenar untuk ujian: PROD-001
=== UJIAN 2: SUBMIT ORDER ===
๐ก Menghantar request ke: https://woo.bizapp.my/v2/wooapi.php?...
๐ง Method: POST
๐ Headers: { 'Content-Type': 'application/x-www-form-urlencoded', ... }
๐ฆ Order Data:
- Customer: Ahmad Test
- Email: ahmad.test@gmail.com
- Phone: +60123456789
- Total Price: 99.90
- Order ID: ORD-1703123456789-123
- Product SKU: PROD-001
- Quantity: 1
- Payment Method: cod
- Payment Gateway ID: cod
- Transaction ID: txn_test_123456
๐ RESPONSE:
Status Code: 200
Content-Type: application/json
โ
SUCCESS: Order submitted successfully
Response: { "status": "success", "message": "Order created" }
๐ UJIAN SELESAI
================
```
### Ujian Gagal
```
โ ERROR in getProductList test:
Request timeout
โ ERROR in submitOrder test:
Invalid secret key
```
## ๐ง Penyelesaian Masalah
### Masalah Biasa
1. **"Invalid secret key"**
- Semak secret key anda betul
- Pastikan secret key bermula dengan tanda `-`
2. **"Request timeout"**
- Semak sambungan internet
- Cuba tingkatkan timeout dalam `TEST_CONFIG`
3. **"No productinfo found"**
- Mungkin tiada produk dalam sistem Bizapp
- Semak dengan admin Bizapp
4. **"ENOTFOUND" atau "ECONNREFUSED"**
- Masalah sambungan rangkaian
- Semak firewall atau proxy
## ๐ Parameter Baru Yang Diuji
Ujian ini juga menguji parameter baru yang ditambah:
1. **`woo_payment_txn`**: Transaction ID untuk payment gateway
2. **`woo_paymentgateway_id`**: Specific Payment Gateway ID
Kedua-dua parameter ini dihantar dalam ujian submitOrder untuk memastikan ia berfungsi dengan betul.
## โ ๏ธ Amaran
- **Ujian submitOrder akan menghantar pesanan sebenar** ke sistem Bizapp
- Gunakan data ujian sahaja
- Jangan gunakan maklumat pelanggan sebenar
- Semak dengan admin Bizapp sebelum menjalankan ujian dalam persekitaran production
## ๐ Ujian Automatik
Anda boleh menambah ujian ini ke dalam CI/CD pipeline:
```bash
# Dalam package.json
"scripts": {
"test": "node test_node_functions.js",
"test:api": "node test_node_functions.js"
}
# Jalankan dengan npm
npm test
```
## ๐ Sokongan
Jika anda menghadapi masalah:
1. Semak log output dengan teliti
2. Pastikan secret key betul
3. Cuba ujian manual menggunakan Postman atau curl
4. Hubungi sokongan Bizapp jika perlu