From 20a03c0beb68b22394a0633b4f3a7878441e050d Mon Sep 17 00:00:00 2001 From: marcusDenslow Date: Mon, 8 Jun 2026 23:07:26 +0200 Subject: [PATCH] test: assert sweep counter labels in remaining branch tests --- api/handlers/reconcile_test.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/api/handlers/reconcile_test.go b/api/handlers/reconcile_test.go index 426f32d..59ed00f 100644 --- a/api/handlers/reconcile_test.go +++ b/api/handlers/reconcile_test.go @@ -295,6 +295,9 @@ func TestReconcileStale3DSOrders_SkipsTransitioningStatuses(t *testing.T) { return &stripe.PaymentIntent{ID: id, Status: tc.status}, nil } + skip := middleware.Abandoned3DSSweepCounter().WithLabelValues("processing_skip") + before := testutil.ToFloat64(skip) + ReconcileStale3DSOrders(30 * time.Minute) var reloaded models.Order @@ -304,6 +307,9 @@ func TestReconcileStale3DSOrders_SkipsTransitioningStatuses(t *testing.T) { if reloaded.Status != models.OrderStatusRequiresAction { t.Fatalf("%s must stay requires_action; got %q", tc.name, reloaded.Status) } + if got := testutil.ToFloat64(skip) - before; got != 1 { + t.Fatalf("want 1 processing_skip increment, got %v", got) + } }) } } @@ -332,6 +338,9 @@ func TestReconcileStale3DSOrders_SkipsUnknownStatus(t *testing.T) { }, nil } + unknown := middleware.Abandoned3DSSweepCounter().WithLabelValues("unrecognized_status") + before := testutil.ToFloat64(unknown) + ReconcileStale3DSOrders(30 * time.Minute) var reloaded models.Order @@ -341,6 +350,9 @@ func TestReconcileStale3DSOrders_SkipsUnknownStatus(t *testing.T) { if reloaded.Status != models.OrderStatusRequiresAction { t.Fatalf("unknown status must not flip; got %q", reloaded.Status) } + if got := testutil.ToFloat64(unknown) - before; got != 1 { + t.Fatalf("want 1 unrecognized_status increment, got %v", got) + } } // TestReconcileStale3DSOrders_SkipsOnStripeError verifies a Stripe Get @@ -407,6 +419,9 @@ func TestReconcileStale3DSOrders_SkipsEmptyPaymentIntentID(t *testing.T) { return &stripe.PaymentIntent{Status: stripe.PaymentIntentStatusRequiresPaymentMethod}, nil } + missing := middleware.Abandoned3DSSweepCounter().WithLabelValues("missing_pi") + before := testutil.ToFloat64(missing) + ReconcileStale3DSOrders(30 * time.Minute) if called { @@ -419,6 +434,9 @@ func TestReconcileStale3DSOrders_SkipsEmptyPaymentIntentID(t *testing.T) { if reloaded.Status != models.OrderStatusRequiresAction { t.Fatalf("empty-PI guard must leave status alone; got %q", reloaded.Status) } + if got := testutil.ToFloat64(missing) - before; got != 1 { + t.Fatalf("want 1 missing_pi increment, got %v", got) + } } // seedRequiresActionOrder inserts a card + order pair in the requires_action