Conversation
The seeds created every order at the moment they ran, so all of them fell on the same day: the reports curve would draw a single point and the volume per day said nothing. Nothing reached the dead letter queue either, so the failed events screen had nothing to show in the demo. db/seeds/demo_activity.rb adds seventeen manual sales of Distribuidora Norte spread over the last four weeks in Argentina time, most of them dispatched with Andreani or Correo Argentino and a full shipment log, one cancelled and two still pending, plus an exhausted and a pending failed event. It is idempotent like the rest of the seeds, moves no stock, and lives in its own file loaded at the end so it does not collide with the template changes in seeds.rb. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Revisado. No lo mergearía, salvo que entre #101. Esto no es alcance: es escenografía para la demo. Y como escenografía está bien pensada —hoy los seeds crean todas las órdenes en el mismo instante, así que la curva de reportes es un solo punto y la cola de eventos fallidos está vacía—, pero no arregla nada del sistema. La condición es simple: si entran #101 y proyecto-web#64 (reportes reales) y proyecto-web#63 (cola de eventos fallidos), esto se vuelve necesario, porque si no esas dos pantallas se defienden vacías y no se puede mostrar la tendencia contra el período anterior ni el criterio de aceptación de resiliencia. Si esos no entran, este tampoco tiene por qué. Decidilo después de los otros tres, no antes. |
LauAubert
marked this pull request as ready for review
October 3, 2026 23:25
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ticket de Jira
https://proyectofinalfrlp.atlassian.net/browse/TESIS-156
Descripción
Los seeds crean todas las órdenes en el momento en que se corren, así que caen todas el mismo día. Para la demo eso deja dos pantallas sin nada que mostrar: la curva de Reportes (proyecto-api#101 / proyecto-web#64) sería un solo punto, sin período anterior contra el cual calcular la tendencia; y la cola de eventos fallidos (proyecto-web#63) estaría vacía, sin forma de mostrar el criterio de aceptación de resiliencia. Este PR agrega cuatro semanas de actividad de Distribuidora Norte.
Decisiones que conviene mirar:
Archivo aparte.
db/seeds/demo_activity.rbse carga con una línea al final deseeds.rb. La rama de Shopify (TESIS-138) reescribe buena parte de las plantillas y conexiones deseeds.rb; meter esto ahí habría sido un conflicto seguro.Qué siembra. 17 ventas manuales repartidas en los últimos 27 días (hora de Argentina, con horarios distintos), sobre el catálogo real de Norte. La mayoría despachadas con Andreani o Correo Argentino con su bitácora completa (
ready_to_ship→in_transit→delivered), porque Reportes fecha el despacho por ese evento. Una cancelada y dos pendientes. En la DLQ, un evento agotado que apunta al webhook inválido que ya cargan los seeds —si se lo reintenta desde la pantalla, vuelve a fallar por el mismo motivo, como pasaría de verdad— y uno pendiente con un 503.Idempotente y relativo. Cada venta se reconoce por el nombre del cliente y cada evento por su error, como el resto de los seeds. Las fechas son relativas al momento en que se corre, para que «últimos 30 días» siempre las vea.
No mueve stock. Son ventas pasadas; el stock de la demo es el que cargan los seeds de arriba.
db/seeds/demo_activity.rby lo carga desdeseeds.rb.spec/db/demo_activity_seeds_spec.rb: corre los seeds completos (no había spec que los ejecutara) y verifica que las ventas cubren muchos días dentro de los últimos 30, que hay despachos en días distintos, que una segunda corrida no agrega nada, y que la DLQ tiene un evento agotado y uno pendiente.Evidencia visual
N/A
Cómo probar
bin/rails db:seedsobre una base sembrada → agrega las ventas históricas y los dos eventos; una segunda corrida no agrega nada.GET /api/v1/reports/overview?period=30dcomo usuario de Norte → la curva tiene ventas en muchos días ydispatched_unitses mayor que cero.Verificación:
bundle exec rspec(1572 ejemplos, 0 fallas),rubocoplimpio.Impacto y consideraciones
¿Introduce breaking changes?
No. Sólo datos de demo; producción no corre seeds.
¿Requiere nuevas variables de entorno?
No
¿Afecta la arquitectura o genera un nuevo patrón?
No. Introduce
db/seeds/para separar datos de demo de la configuración base.🤖 Generated with Claude Code