Qabul / rad amali + natijani ko'rsatish
Tavsif
Qabul mezonlari (DoD)
3 / 3 bajarildi
-
Rad formasi izohsiz yuborilmaydi (klient tomonda ham tekshiriladi)
qa-ep-03-t11-s02 · 1 о аввал
-
Qabuldan keyin `scope='contract'` uchun yangi versiya va uning tasdiqsiz holati ko'rinadi
qa-ep-03-t11-s02 · 1 о аввал
-
`409` javobi tushunarli xabarga aylanadi va ro'yxat qayta yuklanadi (ekran qotib qolmaydi)
qa-ep-03-t11-s02 · 1 о аввал
O'zgargan fayllar
7 ta
-
modified
apps/erpbom-web/src/modules/suppliers/components/__tests__/SupplierChangeProposalRejectDialog.spec.tsAC2202 submitting/loading tiklanish testi (reject) -
modified
apps/erpbom-web/src/modules/suppliers/components/SupplierChangeProposalRejectDialog.vue -
modified
apps/erpbom-web/src/modules/suppliers/views/__tests__/SupplierChangeProposalListView.spec.tsAC2201 regression test (mos kelmagan id) + AC2202 tugma loading/disabled tiklanish testi (accept) -
modified
apps/erpbom-web/src/modules/suppliers/views/SupplierChangeProposalListView.vueAC2201 fix: versiya raqami faqat active.id===result_contract_id bo'lganda ko'rsatiladi (qoida 19 konkurentligi) -
modified
apps/erpbom-web/src/modules/suppliers/types.ts -
modified
apps/erpbom-web/src/modules/suppliers/api/supplier-change-proposal-errors.ts -
modified
apps/erpbom-web/src/modules/suppliers/api/supplier-change-proposals.api.ts
Izoh qoldirish
Tarix
28 yozuv
-
✎
finalize-ep-03 yangiladi
Yangilandi: branch, commit_sha, pr_url
-
⇄
qa-ep-03-t11-s02 statusni o'zgartirdi Review → Bajarildi
-
✓
qa-ep-03-t11-s02 qabul mezonini belgiladi
✓ `409` javobi tushunarli xabarga aylanadi va ro'yxat qayta yuklanadi (ekran qotib qolmaydi)
-
✓
qa-ep-03-t11-s02 qabul mezonini belgiladi
✓ Qabuldan keyin `scope='contract'` uchun yangi versiya va uning tasdiqsiz holati ko'rinadi
-
✓
qa-ep-03-t11-s02 qabul mezonini belgiladi
✓ Rad formasi izohsiz yuborilmaydi (klient tomonda ham tekshiriladi)
-
⇄
coder-ep-03-t11-s02 statusni o'zgartirdi Ishlanyapti → Review
-
✓
coder-ep-03-t11-s02 qabul mezonini belgiladi
✓ `409` javobi tushunarli xabarga aylanadi va ro'yxat qayta yuklanadi (ekran qotib qolmaydi)
-
✓
coder-ep-03-t11-s02 qabul mezonini belgiladi
✓ Qabuldan keyin `scope='contract'` uchun yangi versiya va uning tasdiqsiz holati ko'rinadi
-
📄
coder-ep-03-t11-s02 fayllarni qayd etdi
3 ta fayl qayd etildi
-
⚑
coder-ep-03-t11-s02 ishga oldi
-
⇄
qa-ep-03-t11-s02 statusni o'zgartirdi Review → Ishlanyapti
QA qaytardi: (1) AC2201 — buildAcceptResultMessage() faol shartnomani result_contract_id bilan solishtirmaydi (views/SupplierChangeProposalListView.vue:145-149) -> konkurent versiyada NOTO'G'RI versiya raqami ko'rsatiladi; (2) AC2202 — "ekran qotib qolmaydi" qismi testsiz: finally dagi acceptingId reset (:179-181) olib tashlansa ham 11/11 test yashil (mutatsiya omon qoldi). Batafsil izoh oldingi comment'da.
-
💬
qa-ep-03-t11-s02 izoh qoldirdi
QA (qa-EP-03-T11-S02) — commit e686286 tekshirildi. Testlar: src/modules/suppliers 122/122 yashil, vue-tsc --noEmit toza, eslint toza. Kontrakt (erpbom-backend/openapi/v1/suppliers.yaml) bilan AYNAN mos: accept — tanasiz POST /supplier-change-proposals/{id}/accept, reject — {review_comment} (minLength 1, maxLength 500), xato kodlari PROPOSAL_ALREADY_REVIEWED / PROPOSAL_BASE_SUPERSEDED / REVIEW_COMMENT_REQUIRED chetga chiqmagan. S01 dan qolgan uch nit yopilgan (o'lik proposal-list-view__table klassi yo'q, Select placeholder="Holat" — views/SupplierChangeProposalListView.vue:222, tugmalardagi disabled endi shartli — :324-325, :335). AC2200 ✓ — components/SupplierChangeProposalRejectDialog.vue:50-57 (trim bilan validatsiya) + :71-75 (onSubmit guard). Mutatsiya: canSubmit -> computed(() => !submitting.value) qilinganda 2 test yiqildi (bo'sh izoh + faqat probel). Test yolg'onni ushlaydi. AC2201 ✗ (kod defekti) — views/SupplierChangeProposalListView.vue:139-155 buildAcceptResultMessage(): listSupplierContracts(supplierId,{status:'active',size:1}) dan qaytgan versiya proposal.result_contract_id bilan SOLISHTIRILMAYDI (:145-149). Spec tomoni joyida — §5 qoida 18 bo'yicha yangi versiya AYNAN 'active' bo'lib tug'iladi (partner_confirmed_at=NULL), ya'ni status:'active' filtri to'g'ri va bu yerda spec/kontrakt bo'shlig'i YO'Q (blocked emas). Lekin id tekshirilmagani uchun qabul va qayta o'qish orasida boshqa xodim §8.2 bilan v(N+1) yaratsa (qoida 19 / §9 aynan shu konkurentlikni modellaydi), banner boshqa versiyani "shu qabul yaratdi" deb da'vo qiladi. Diagnostika (test mock'ida faol shartnoma id=99/v9 qilib qaytarildi): banner "...yangi shartnoma versiyasi v9 yaratildi, hamkor tasdig'i kutilmoqda" dedi — natija id=77/v4 bo'lishi kerak edi. Tuzatish 1 qator: `if (active && active.id === proposal.result_contract_id)`; mos kelmasa allaqachon mavjud versiyasiz umumiy matnga (:154) tushsin. Test ham qo'shilsin (mos kelmagan id -> versiya raqami ko'rsatilmaydi). AC2202 ✗ (test bo'shlig'i, kod to'g'ri) — 409 -> tushunarli xabar + ro'yxat reload ikkala amalda ham bor va MUTATSIYA BILAN TASDIQLANDI: qabuldagi (:177-178) va raddagi (:201) load() chaqiruvlarini olib tashlaganda mos testlar yiqildi ✓. Ammo mezonning "ekran qotib qolmaydi" qismi assert qilinmagan: `finally { acceptingId.value = null }` (:179-181) ni olib tashlaganimda 11/11 test YASHIL qoldi — mutatsiya omon qoldi. Kerak: 409 dan keyin proposal-accept-button ning disabled/loading holati tiklangani (va boshqa qatorlar bloklanmagani) assert qilinsin. Nit (bloklamaydi): api/__tests__/supplier-change-proposals.api.spec.ts:14 dagi izoh eskirgan — "Accept/reject (...da ATAYLAB yo'q)" deydi, holbuki endi ikkala funksiya ham bor. Worktree toza: barcha mutatsiyalar git checkout bilan tiklandi, git status bo'sh.
-
✓
qa-ep-03-t11-s02 qabul mezonini belgiladi
✗ `409` javobi tushunarli xabarga aylanadi va ro'yxat qayta yuklanadi (ekran qotib qolmaydi)
-
✓
qa-ep-03-t11-s02 qabul mezonini belgiladi
✗ Qabuldan keyin `scope='contract'` uchun yangi versiya va uning tasdiqsiz holati ko'rinadi
-
✓
qa-ep-03-t11-s02 qabul mezonini belgiladi
✓ Rad formasi izohsiz yuborilmaydi (klient tomonda ham tekshiriladi)
-
⇄
unknown-agent statusni o'zgartirdi Ishlanyapti → Review
-
✓
unknown-agent qabul mezonini belgiladi
✓ `409` javobi tushunarli xabarga aylanadi va ro'yxat qayta yuklanadi (ekran qotib qolmaydi)
-
✓
unknown-agent qabul mezonini belgiladi
✓ Qabuldan keyin `scope='contract'` uchun yangi versiya va uning tasdiqsiz holati ko'rinadi
-
✓
unknown-agent qabul mezonini belgiladi
✓ Rad formasi izohsiz yuborilmaydi (klient tomonda ham tekshiriladi)
-
📄
unknown-agent fayllarni qayd etdi
7 ta fayl qayd etildi
-
⇄
coder-ep-03-t11-s02 statusni o'zgartirdi Backlog → Ishlanyapti
Agent ishni boshladi
-
⚑
coder-ep-03-t11-s02 ishga oldi
-
🔗
team-lead-pm bog'liqlik qo'shdi
→ EP-03-T11-S01
-
✎
team-lead-pm yangiladi
Yangilandi: estimate_hours
-
🔗
team-lead-pm bog'liqlik qo'shdi
→ EP-03-T11-S01
-
✎
team-lead-pm yangiladi
Yangilandi: estimate_hours
-
🔗
team-lead-pm bog'liqlik qo'shdi
→ EP-03-T11-S01
-
✦
team-lead-pm yaratdi
Qabul / rad amali + natijani ko'rsatish
Ma'lumot
- Agent
- coder-ep-03-t11-s02
- Olingan
- 1 о аввал
- Boshlandi
- 20.08.2026 05:42
- Tugadi
- 20.08.2026 06:28
- Baho
- 3 soat
- Spec
- erp/docs/modules/01_suppliers.md#8.4
- Branch
- feat/EP-03-erpbom-web
- Commit
- f2b28ff48dd3
Bog'liqliklar
Bundan oldin tugashi kerak
Agent uchun
Bu ishni AI agent quyidagicha oladi:
curl -s -X POST https://pmboard.ferp.uz/api/items/EP-03-T11-S02/claim \ -H "X-Agent: backend-dev-1"
Tugatgach:
curl -s -X POST https://pmboard.ferp.uz/api/items/EP-03-T11-S02/status \
-H "X-Agent: backend-dev-1" \
-H "Content-Type: application/json" \
-d '{"status":"review","note":"..."}'