Lista de estaciones
Implementa: web, app
Consume: api
Estado: activa
Última revisión: 2026-05-21T19:38:35Z
# Implementa: web, app
# Consume: api
# Estado: activa
# Última revisión: 2026-05-21T19:38:35Z
# Position: 5
Feature: Lista de estaciones
La lista muestra todas las gasolineras del área ordenadas según el criterio
activo (precio por defecto). La primera posición —la hero card— es la "mejor
opción" según ese criterio y actúa como referencia para el resto de la lista.
Cada tarjeta secundaria puede mostrar un badge de coste relativo que compara
el precio bruto de llenar el depósito en esa estación frente a la hero card.
El badge ayuda al usuario a entender cuánto más (o menos) le costaría elegir
esa estación en lugar de la recomendada.
# ---------------------------------------------------------------------------
# Badge de coste relativo por depósito
# ---------------------------------------------------------------------------
Background:
Given el depósito de referencia es de 40 litros
And la hero card es la estación con la mejor puntuación según el criterio activo
Scenario Outline: El badge muestra el estado correcto según la diferencia de coste
Given la hero card tiene un precio de <precio_hero> €/L
And la estación secundaria tiene un precio de <precio_estacion> €/L
When el frontend calcula la diferencia de coste por depósito
Then el badge muestra <resultado>
Examples:
| precio_hero | precio_estacion | diferencia_deposito | resultado |
| 1.539 | 1.559 | +0.80 | badge rojo "+€0.80/depósito" |
| 1.539 | 1.562 | +0.92 | badge rojo "+€0.92/depósito" |
| 1.539 | 1.539 | 0.00 | badge oculto (sin diferencia) |
| 1.560 | 1.413 | -5.88 | badge verde "−€5.88/depósito" |
Scenario: Badge oculto cuando la diferencia es exactamente cero
Given la hero card y una estación secundaria tienen el mismo precio por litro
When el frontend calcula la diferencia de coste por depósito
Then no se renderiza ningún badge de coste relativo en esa tarjeta
Scenario: Badge verde cuando la estación es más barata por litro pero más lejos que la hero
Given la hero card no es la estación con el menor precio por litro del área
And existe una estación secundaria con menor precio por litro pero mayor distancia
When el frontend calcula la diferencia de coste por depósito
Then esa estación muestra un badge verde con el ahorro en negativo
And el badge no implica que sea la mejor opción — la distancia extra tiene coste