Merge pull request 'FHM290626SAS01 - prompt pembuatan PR' (#4) from staging into master

Reviewed-on: #4
This commit was merged in pull request #4.
This commit is contained in:
2026-06-29 10:46:52 +07:00
2 changed files with 113 additions and 0 deletions

View File

@@ -15,6 +15,32 @@
## Priority
- Safety confirmation is mandatory and overrides speed.
## Pull Request Format
Setiap PR wajib menggunakan struktur berikut:
**Title:** `TASKCODE - deskripsi singkat`
**Body:**
```
## Latar Belakang Masalah
[Root cause atau kebutuhan yang melatarbelakangi perubahan]
## Perubahan
- [Bullet point perubahan spesifik per fungsi/fitur]
## File yang Diubah
| File | Fungsi/Bagian | Keterangan |
|---|---|---|
| `path/to/file.php` | `nama_fungsi()` | deskripsi singkat |
## Test yang Harus Dilakukan QA
- [ ] Skenario normal: ...
- [ ] Skenario edge case: ...
- [ ] Skenario negatif: ...
- [ ] Regression: pastikan fitur terkait tidak rusak
```
## Commit Message Format
- Sebelum membuat commit, **selalu tanya kode task** kepada user.
- Format commit message wajib: `TASKCODE - deskripsi singkat`

87
PR_PROMPT.md Normal file
View File

@@ -0,0 +1,87 @@
# Prompt Standar Pembuatan Pull Request
Gunakan prompt berikut saat meminta AI untuk membuat PR. Isi bagian dalam kurung `[ ]` sesuai konteks.
---
## Prompt
```
Buatkan PR dari branch [HEAD_BRANCH] ke [BASE_BRANCH] dengan detail berikut:
**Kode Task:** [TASKCODE]
**Latar Belakang Masalah:**
[Jelaskan root cause masalah atau kebutuhan bisnis.
Contoh: "Fungsi post_transaction_daily tidak memfilter T_TestIsPrice sehingga
pemeriksaan non-price ikut terkirim ke AIS dan menyebabkan transaksi ditolak."]
**Perubahan yang Dilakukan:**
- [Perubahan 1, spesifik per fungsi/komponen]
- [Perubahan 2]
- [dst...]
**File yang Terkait:**
- `path/to/file1` — [deskripsi singkat perubahan]
- `path/to/file2` — [deskripsi singkat perubahan]
**Skenario Test untuk QA:**
- Normal: [flow utama yang harus berjalan]
- Edge case: [kondisi batas yang harus ditangani]
- Negatif: [kondisi yang harus ditolak/error]
- Regression: [fitur lain yang harus dipastikan tidak rusak]
```
---
## Contoh Hasil PR yang Diharapkan
### Title
`FHM290626CPONE01 - fix filter T_TestIsPrice pada post_transaction`
### Body
```markdown
## Latar Belakang Masalah
Fungsi `post_layanan_all` di `Masterdata.php` hanya mendaftarkan layanan dengan
`T_TestIsPrice = 'Y'` ke master layanan AIS. Namun fungsi `post_transaction_*`
tidak memfilter hal yang sama — semua pemeriksaan dengan `T_TestIsActive = 'Y'`
ikut terkirim sebagai transaksi, termasuk yang `T_TestIsPrice = 'N'`.
Akibatnya AIS menolak transaksi karena `LayananID` tidak terdaftar di master layanan.
## Perubahan
- Menambahkan kondisi `AND T_TestIsPrice = 'Y'` pada semua JOIN ke tabel `t_test`
di fungsi `post_transaction_daily_by_date`, `post_transaction_daily`,
dan `post_transaction_by_labnumber`.
## File yang Diubah
| File | Fungsi/Bagian | Keterangan |
|---|---|---|
| `application/controllers/ais/Transactionv2.php` | `post_transaction_*` | 21 titik JOIN diupdate |
| `application/controllers/ais/Transactionv3.php` | `post_transaction_*` | 21 titik JOIN diupdate |
| `application/controllers/ais/Transactionv4.php` | `post_transaction_*` | 21 titik JOIN diupdate |
| `application/controllers/ais/Transactionv5.php` | `post_transaction_*` | 21 titik JOIN diupdate |
## Test yang Harus Dilakukan QA
- [ ] **Normal:** Kirim transaksi dengan pemeriksaan yang `T_TestIsPrice = 'Y'`
harus berhasil masuk ke AIS tanpa error.
- [ ] **Edge case:** Order yang mengandung campuran pemeriksaan `IsPrice = 'Y'`
dan `IsPrice = 'N'` — hanya yang `'Y'` yang terkirim ke AIS.
- [ ] **Negatif:** Kirim transaksi yang seluruh pemeriksaannya `T_TestIsPrice = 'N'`
— tidak boleh ada layanan yang terkirim ke AIS.
- [ ] **Regression:** Pastikan total tagihan, RegpasNominal, dan TrxBayar
tetap terhitung dengan benar setelah filter diterapkan.
```
---
## Catatan
- Selalu gunakan kode task dari user sebelum membuat PR.
- Token Gitea tersimpan di `.env` dengan key `GITEA_TOKEN`.
- Base URL Gitea: `https://devone.aplikasi.web.id/gitea`
- Repo: `fajri/BE_CPONE` (BE) atau sesuai repo aktif.