# Fuente: album/book/ops-templates/backoffice/04-reembolsos.md
# Drive: 07. Finanzas y contabilidad/Reembolsos
# Tests Backend: pytest tests/contracts/payments/test_refunds.py
# Tests Frontend: npx playwright test admin-refunds.spec.ts

Feature: Proceso de reembolso

  Como administrador
  Quiero procesar reembolsos de pagos
  Para resolver cancelaciones y problemas

  Background:
    Given que estoy logueado como administrador
    And estoy en el backoffice

  # ============================================
  # PROCESAR REEMBOLSO
  # ============================================

  Scenario: Reembolso total exitoso
    Given que hay una solicitud pagada por 15000
    And la visita fue cancelada
    When abro la solicitud
    And hago click en "Procesar reembolso"
    And selecciono "Reembolso total"
    And ingreso motivo "Cancelacion por indisponibilidad del veterinario"
    And confirmo el reembolso
    Then deberia enviarse la solicitud de reembolso a Mercado Pago
    And deberia ver mensaje "Reembolso en proceso"
    And el dueno deberia recibir email de confirmacion

  Scenario: Reembolso parcial
    Given que hay una solicitud pagada por 20000
    And solo se realizo parte del servicio
    When proceso reembolso parcial por 10000
    And ingreso motivo "Servicio parcialmente completado"
    And confirmo
    Then deberia procesarse reembolso por 10000
    And deberia quedar registro del monto reembolsado

  # ============================================
  # TIEMPOS DE ACREDITACION
  # ============================================

  Scenario Outline: Informar tiempo de acreditacion segun metodo
    Given que el pago original fue con "<metodo>"
    When proceso el reembolso
    Then deberia informar al usuario:
      """
      El reembolso se acreditara en <tiempo>
      """

    Examples:
      | metodo              | tiempo                          |
      | Tarjeta credito     | 1-2 resumenes de cuenta         |
      | Tarjeta debito      | 5-10 dias habiles               |
      | Dinero en cuenta MP | forma inmediata                 |

  # ============================================
  # VALIDACIONES
  # ============================================

  Scenario: No puedo reembolsar mas del monto pagado
    Given que hay una solicitud pagada por 15000
    When intento reembolsar 20000
    Then deberia ver error "El monto supera el pago original"

  Scenario: Reembolso duplicado
    Given que ya procese un reembolso total para una solicitud
    When intento procesar otro reembolso
    Then deberia ver error "Esta solicitud ya fue reembolsada"

  Scenario: Pago fuera de plazo de reembolso
    Given que hay un pago de hace 200 dias
    When intento reembolsar
    Then deberia ver advertencia "Fuera de plazo de reembolso de MP (180 dias)"

  # ============================================
  # SEGUIMIENTO
  # ============================================

  Scenario: Ver estado del reembolso
    Given que procese un reembolso hace 2 dias
    When veo el detalle del reembolso
    Then deberia ver el estado actual en Mercado Pago
    And deberia ver historial de estados
