Initial import

This commit is contained in:
sas.fajri
2026-05-25 20:01:37 +07:00
commit 710d7c1b97
10371 changed files with 2381698 additions and 0 deletions

View File

@@ -0,0 +1,398 @@
# TEST CASE MATRIX - ONE MD PACKET V8
## 📋 Quick Reference
| ID | Test Case | Priority | Status | Tester | Date | Notes |
|---|---|---|---|---|---|---|
| **A. SEARCH & FILTER** |
| A1 | Pencarian Paket | P1 | ⬜ | | | |
| A2 | Filter Perusahaan | P1 | ⬜ | | | |
| A3 | Filter MOU | P1 | ⬜ | | | |
| **B. CRUD PAKET** |
| B1 | Create Paket Profile | P0 | ⬜ | | | |
| B2 | Create Paket Panel | P0 | ⬜ | | | |
| B3 | Update Paket | P0 | ⬜ | | | |
| B4 | Delete Paket | P0 | ⬜ | | | |
| B5 | Button Disabled (Released MOU) | P1 | ⬜ | | | |
| **C. DETAIL PAKET** |
| C1 | View Detail | P1 | ⬜ | | | |
| C2 | Add Item (Profile) | P0 | ⬜ | | | |
| C3 | Add Item (Panel Unlocked) | P0 | ⬜ | | | |
| C4 | Add Item (Panel Locked) | P0 | ⬜ | | | |
| C5 | Edit Harga Paket Manual | P0 | ⬜ | | | |
| C6 | Edit Diskon Detail | P0 | ⬜ | | | |
| C7 | Remove Item | P0 | ⬜ | | | |
| C8 | Validasi Duplikasi | P1 | ⬜ | | | |
| C9 | Batal Edit | P1 | ⬜ | | | |
| C10 | Simpan Paket | P0 | ⬜ | | | |
| C11 | Kembali After Save | P1 | ⬜ | | | |
| **D. IMPORT** |
| D1 | Import Paket | P2 | ⬜ | | | |
| D2 | Import Validation | P2 | ⬜ | | | |
| **E. EDGE CASES** |
| E1 | Validasi Harga > Total | P1 | ⬜ | | | |
| E2 | Paket Kosong | P2 | ⬜ | | | |
| E3 | Loading State | P2 | ⬜ | | | |
| E4 | Clear All Discounts | P2 | ⬜ | | | |
| E5 | Add After Save | P1 | ⬜ | | | |
| **F. WORKFLOW** |
| F1 | Workflow Profile | P0 | ⬜ | | | |
| F2 | Workflow Panel Custom | P0 | ⬜ | | | |
| F3 | Workflow Edit Diskon | P0 | ⬜ | | | |
| **G. COMPATIBILITY** |
| G1 | Multi Browser | P1 | ⬜ | | | |
| G2 | Responsive | P2 | ⬜ | | | |
| **H. PERFORMANCE** |
| H1 | Large Data | P2 | ⬜ | | | |
| H2 | Search Performance | P2 | ⬜ | | | |
**Legend:**
- ⬜ Not Tested
- ✅ Pass
- ❌ Fail
- ⚠️ Partial/Warning
- 🔄 In Progress
**Priority:**
- P0: Critical (Must pass before release)
- P1: High (Important features)
- P2: Medium (Nice to have)
- P3: Low (Enhancement)
---
## 🎯 FOKUS TESTING PER FASE
### Phase 1: Basic Functionality (P0)
**Goal:** Pastikan CRUD dasar berfungsi
**Test Cases:**
- B1: Create Paket Profile
- B2: Create Paket Panel
- B3: Update Paket
- B4: Delete Paket
- C2: Add Item (Profile)
- C3: Add Item (Panel Unlocked)
- C5: Edit Harga Paket
- C6: Edit Diskon Detail
- C7: Remove Item
- C10: Simpan Paket
- F1: Workflow Profile Complete
- F2: Workflow Panel Custom
**Duration:** 2-3 jam
**Expected Pass Rate:** 100%
---
### Phase 2: Advanced Features (P1)
**Goal:** Test fitur lanjutan dan state management
**Test Cases:**
- C4: Add Item (Panel Locked)
- C8: Validasi Duplikasi
- C9: Batal Edit
- C11: Kembali After Save
- E1: Validasi Harga
- E5: Add After Save
- A1-A3: Search & Filter
- B5: Button States
**Duration:** 2-3 jam
**Expected Pass Rate:** ≥ 95%
---
### Phase 3: Integration & Edge Cases (P2)
**Goal:** Test edge cases dan integration
**Test Cases:**
- D1-D2: Import features
- E2-E4: Edge cases
- F3: Workflow complex
- G1-G2: Compatibility
- H1-H2: Performance
**Duration:** 2-3 jam
**Expected Pass Rate:** ≥ 90%
---
## 📊 TEST COVERAGE TARGET
| Category | Target Coverage | Actual | Status |
|---|---|---|---|
| CRUD Operations | 100% | % | |
| Validation Rules | 100% | % | |
| Business Logic | 95% | % | |
| UI/UX | 90% | % | |
| Edge Cases | 85% | % | |
| Performance | 80% | % | |
---
## 🔑 KEY SCENARIOS - MUST PASS
### ⭐ Scenario 1: Create & Save Profile Packet
**Steps:** B1 → C2 (add 5 items) → C10 → C11
**Critical Points:**
- Harga Paket = Total Harga (auto)
- No manual price edit
- Items saved correctly
**Status:**
---
### ⭐ Scenario 2: Create Panel with Custom Price
**Steps:** B2 → C3 (add items) → C5 (edit price) → C10
**Critical Points:**
- Pro-rata distribution correct
- Price locked after edit
- Discounts saved properly
**Status:**
---
### ⭐ Scenario 3: Edit Detail Discounts
**Steps:** Select packet → C6 (edit discounts) → C10
**Critical Points:**
- Disc % and Disc Rp both work
- Price calculation correct
- Total updates properly
**Status:**
---
### ⭐ Scenario 4: Add Items to Locked Packet
**Steps:** Select saved packet → C4 (add items)
**Critical Points:**
- Price stays locked
- Total updates, packet price doesn't
- Lock indicator visible
**Status:**
---
### ⭐ Scenario 5: Cancel Changes
**Steps:** Edit packet → Make changes → C9
**Critical Points:**
- Confirmation dialog shows
- Changes reverted
- Data reloaded from DB
**Status:**
---
## 🧮 CALCULATION VERIFICATION
### Test 1: Pro-rata Distribution
```
Given:
Item A: Rp 200.000
Item B: Rp 150.000
Item C: Rp 150.000
Total: Rp 500.000
When: Set Harga Paket = Rp 400.000
Then:
Total Disc = Rp 100.000
Item A Disc = (200k/500k) × 100k = Rp 40.000
Item A Final = 200k - 40k = Rp 160.000 ✅
Item B Disc = (150k/500k) × 100k = Rp 30.000
Item B Final = 150k - 30k = Rp 120.000 ✅
Item C Disc = (150k/500k) × 100k = Rp 30.000
Item C Final = 150k - 30k = Rp 120.000 ✅
Verify: 160k + 120k + 120k = Rp 400.000 ✅
```
**Status:** ⬜ | Result: _____
---
### Test 2: Detail Discount Calculation
```
Given:
Bruto: Rp 100.000
Disc %: 10
Disc Rp: Rp 5.000
Then:
After % = 100k - (100k × 10%) = Rp 90.000
Final = 90k - 5k = Rp 85.000 ✅
```
**Status:** ⬜ | Result: _____
---
### Test 3: Multiple Items Total
```
Given:
Item 1: Rp 50.000 (Disc 5%, Disc Rp 2k) = 45.5k
Item 2: Rp 75.000 (Disc 10%, Disc Rp 0) = 67.5k
Item 3: Rp 100.000 (Disc 0%, Disc Rp 10k) = 90k
Then:
Total = 45.5k + 67.5k + 90k = Rp 203.000 ✅
```
**Status:** ⬜ | Result: _____
---
## 🎨 UI/UX CHECKLIST
### Visual Elements
- [ ] Selected packet has amber background
- [ ] Locked price shows orange chip with lock icon
- [ ] Profile type shows blue chip with info icon
- [ ] Success alert is green with check icon
- [ ] Loading bar appears during operations
- [ ] Edit/Save icons change appropriately
- [ ] Disabled buttons are gray
- [ ] Required fields marked clearly
### User Feedback
- [ ] Confirmation dialog for delete
- [ ] Alert when price > total
- [ ] Alert when duplicate item
- [ ] Success message after save
- [ ] Info tooltip on locked price
- [ ] Hint text for profile type
- [ ] Loading indicators visible
### Interaction
- [ ] Click anywhere on row to select
- [ ] Buttons respond to hover
- [ ] Input fields accept keyboard input
- [ ] Enter key triggers search
- [ ] Modal dialogs can be closed
- [ ] Tooltips appear on hover
---
## 🐛 COMMON ISSUES CHECKLIST
### Known Issues to Watch
- [ ] Price not updating after add/remove item
- [ ] Lock state not persisting
- [ ] Discounts not calculating correctly
- [ ] Pro-rata rounding errors
- [ ] Items not appearing in search
- [ ] Dialog not closing after save
- [ ] Data not refreshing after save
- [ ] Console errors during operations
### Regression Tests
- [ ] Profile price always = total
- [ ] Panel locked price stays fixed
- [ ] Duplicate items blocked
- [ ] MOU released disables buttons
- [ ] Cancel reverts all changes
- [ ] Save persists to database
- [ ] Refresh loads correct data
---
## 📝 TESTING LOG TEMPLATE
### Test Session
**Date:** ___________
**Tester:** ___________
**Environment:** ___________
**Build/Version:** ___________
### Test Summary
| Metric | Value |
|---|---|
| Total Test Cases | 33 |
| Executed | |
| Passed | |
| Failed | |
| Blocked | |
| Pass Rate | % |
### Failed Test Cases
| ID | Test Case | Reason | Severity | Assigned To |
|---|---|---|---|---|
| | | | | |
| | | | | |
### Blockers
1.
2.
### Notes
_________________________________
_________________________________
_________________________________
### Sign-off
**Tester:** ___________
**Date:** ___________
**Status:** PASS / FAIL / CONDITIONAL
---
## 🚀 QUICK START GUIDE
### Untuk Tester Baru
**Step 1: Setup**
1. Buka aplikasi di browser
2. Login dengan user test
3. Pastikan ada data test (perusahaan, MOU, tests)
**Step 2: Familiarisasi (15 menit)**
1. Baca section "Deskripsi Modul" di TESTING_GUIDE.md
2. Pahami 2 tipe paket: Profile vs Panel
3. Pahami konsep locked/unlocked price
**Step 3: Start Testing**
1. Mulai dari Phase 1 (Basic Functionality)
2. Ikuti test case B1 (Create Profile)
3. Ikuti test case B2 (Create Panel)
4. Lanjut ke test case berikutnya
**Step 4: Report Issues**
1. Gunakan bug template di TESTING_GUIDE.md
2. Screenshot/screen record jika perlu
3. Include console error
4. Report ke developer
### Expected Time
- **Setup:** 15 menit
- **Familiarisasi:** 15 menit
- **Phase 1:** 2-3 jam
- **Phase 2:** 2-3 jam
- **Phase 3:** 2-3 jam
- **Total:** ~7-9 jam (1-2 hari kerja)
---
## 📚 REFERENCES
- **Main Guide:** [TESTING_GUIDE.md](./TESTING_GUIDE.md)
- **Code Files:**
- `components/oneMdPacketList.vue` - Main packet list
- `components/oneMdPacketPxList.vue` - Packet details
- `components/oneMdPacketTestList.vue` - Test selection
- `components/oneMdPacketNew.vue` - Create/edit dialog
- `store.js` - State management
- `modules/packet.js` - Packet module
---
**Document Version:** 1.0
**Last Updated:** 2026-01-22
**Module:** One MD Packet V8