BE 必要驗收案例
欄位已分組,原始字段名保留在標籤旁。展開詳細資料或切換原始檔,可核對完整內容。
- 格式版本
schema_version - 1
- 需求識別
ticket - DEMO-PAYMENT
- 驗收案例
cases - 5 個案例 · 案例清單本身不代表已執行或通過
01 BE-PAID-REJECT
- 前置情境
given - paid-order 為 PAID,已有一筆付款,再 POST /payments
- 預期結果
expected - 409、ORDER_ALREADY_PAID,訂單狀態與付款筆數完全不變
對應需求、負責端與測試細節
- 案例/紀錄編號
id - BE-PAID-REJECT
- 對應需求
requirement - AC-DEMO-PAY-001
- 負責端
owner - be
- 審查角色
review_role - qa
- 測試對應
test - 檔案
file - independent/cases.py
- JUnit 分組
classname - payment_api
- 名稱
name - reject_paid_order
- 檔案
02 BE-PENDING-PAY
- 前置情境
given - pending-order 為 PENDING 且沒有付款,POST /payments
- 預期結果
expected - 200、回應 PAID,DB 訂單變 PAID 且只有一筆付款
對應需求、負責端與測試細節
- 案例/紀錄編號
id - BE-PENDING-PAY
- 對應需求
requirement - AC-DEMO-PAY-002
- 負責端
owner - be
- 審查角色
review_role - qa
- 測試對應
test - 檔案
file - independent/cases.py
- JUnit 分組
classname - payment_api
- 名稱
name - pay_pending_order
- 檔案
03 BE-CONCURRENT
- 前置情境
given - 同時對 pending-order 送出兩筆真 HTTP 付款請求
- 預期結果
expected - 一筆200一筆409,DB狀態PAID且只有一筆付款
對應需求、負責端與測試細節
- 案例/紀錄編號
id - BE-CONCURRENT
- 對應需求
requirement - BR-DEMO-PAY-001
- 負責端
owner - be
- 審查角色
review_role - qa
- 測試對應
test - 檔案
file - independent/cases.py
- JUnit 分組
classname - payment_api
- 名稱
name - concurrent_payment_once
- 檔案
04 BE-INVALID-REQUEST
- 前置情境
given - POST /payments,order_id 為空字串
- 預期結果
expected - 400、INVALID_REQUEST,既有未付款訂單與付款筆數不變
對應需求、負責端與測試細節
- 案例/紀錄編號
id - BE-INVALID-REQUEST
- 對應需求
requirement - AC-DEMO-PAY-003
- 負責端
owner - be
- 審查角色
review_role - qa
- 測試對應
test - 檔案
file - independent/cases.py
- JUnit 分組
classname - payment_api
- 名稱
name - reject_invalid_request
- 檔案
05 BE-MISSING-ORDER
- 前置情境
given - POST /payments,order_id 為不存在的 unknown-order
- 預期結果
expected - 404、ORDER_NOT_FOUND,不新增此訂單或付款
對應需求、負責端與測試細節
- 案例/紀錄編號
id - BE-MISSING-ORDER
- 對應需求
requirement - AC-DEMO-PAY-004
- 負責端
owner - be
- 審查角色
review_role - qa
- 測試對應
test - 檔案
file - independent/cases.py
- JUnit 分組
classname - payment_api
- 名稱
name - reject_missing_order
- 檔案
- 前置情境