交付流程 · 產物閱讀
FEATUREexamples/quality-workflow/acceptance.feature

acceptance.feature

Feature: DEMO-PAYMENT 教學付款保護
  # 固定需求 demo-contract-1;這份 Gherkin 是規格,並非本例的測試 runner。

  @AC-DEMO-PAY-001
  Scenario: 已付款重送不新增付款
    Given paid-order 為 PAID 且已有一筆付款
    When 再次 POST /payments 指定 paid-order
    Then HTTP 狀態為 409 且 error 為 ORDER_ALREADY_PAID
    And 訂單維持 PAID 且付款筆數仍為一

  @AC-DEMO-PAY-002
  Scenario: 未付款可以付款
    Given pending-order 為 PENDING 且沒有付款
    When POST /payments 指定 pending-order
    Then HTTP 狀態為 200 且回應 status 為 PAID
    And 訂單變為 PAID 且付款筆數為一

  @AC-DEMO-PAY-003
  Scenario: 空訂單編號被拒絕
    Given pending-order 尚未付款
    When POST /payments 的 order_id 為空字串
    Then HTTP 狀態為 400 且 error 為 INVALID_REQUEST
    And pending-order 的狀態與付款筆數不變

  @AC-DEMO-PAY-004
  Scenario: 不存在的訂單被拒絕
    When POST /payments 指定 unknown-order
    Then HTTP 狀態為 404 且 error 為 ORDER_NOT_FOUND
    And 不新增訂單或付款

  @AC-DEMO-PAY-005 @planned_not_executed
  Scenario: 已付款畫面沒有付款入口
    Given 瀏覽器開啟 PAID 訂單詳情
    Then 付款區塊不在 DOM 且鍵盤無法聚焦付款按鈕

  @AC-DEMO-PAY-006 @planned_not_executed
  Scenario: 未付款畫面可完成付款
    Given 瀏覽器開啟 PENDING 訂單詳情
    When 使用者按付款且 API 成功
    Then 畫面更新為 PAID 並移除付款入口

靜態唯讀副本 · 可直接開啟,不需伺服器;不改變核准或執行結果