fix: replace time.Sleep with poll loops in tests, fix a11y target=_blank violations
CI / Env docs check (push) Successful in 16s
CI / Nginx config check (push) Successful in 22s
CI / Docker compose check (push) Successful in 23s
CI / Frontend major deps (push) Successful in 23s
CI / Frontend deps check (push) Successful in 28s
CI / Secrets scan (push) Successful in 36s
CI / Go build (push) Successful in 37s
CI / Frontend build (push) Successful in 43s
CI / Knip (push) Successful in 52s
CI / Frontend a11y check (push) Successful in 1m48s
CI / Go vet (prod) (push) Successful in 1m36s
CI / Go vet (dev) (push) Successful in 2m11s
CI / go mod tidy (push) Successful in 1m0s
CI / Frontend QC (audit) (push) Successful in 35s
CI / Staticcheck (prod) (push) Successful in 2m47s
CI / Staticcheck (dev) (push) Successful in 3m4s
CI / golangci-lint (push) Successful in 3m24s
CI / Go vulnerabilities (push) Successful in 1m52s
CI / Frontend QC (lint) (push) Failing after 1m2s
CI / Frontend QC (typecheck) (push) Successful in 1m23s
CI / Svelte strict check (push) Has been skipped
CI / Security scan (prod) (push) Successful in 4m15s
CI / Security scan (dev) (push) Successful in 4m54s
CI / Tests (prod) (push) Successful in 3m48s
CI / Tests (dev) (push) Failing after 4m2s
CI / Race (prod) (push) Failing after 7m15s
CI / Race (dev) (push) Failing after 7m20s

This commit is contained in:
2026-07-11 16:16:23 +01:00
parent 0c1fc2b819
commit c8051a76d6
9 changed files with 58 additions and 71 deletions
+11 -25
View File
@@ -76,22 +76,13 @@ func TestDevClient_CreateCheckout_PendingThenCompleted(t *testing.T) {
t.Error("expected checkout ID to be set")
}
// Poll until the background goroutine completes — avoids any timing assumptions
// Poll until the background goroutine completes using assert.Eventually
var completed *PaymentResult
for i := 0; i < 20; i++ {
completed, err = client.GetCheckout(ctx, result.ID)
if err == nil && completed.Status == "COMPLETED" {
break
}
time.Sleep(200 * time.Millisecond)
}
if err != nil {
t.Fatalf("GetCheckout failed: %v", err)
}
if completed.Status != "COMPLETED" {
t.Errorf("expected status COMPLETED, got %s", completed.Status)
}
assert.Eventually(t, func() bool {
var getErr error
completed, getErr = client.GetCheckout(ctx, result.ID)
return getErr == nil && completed.Status == "COMPLETED"
}, 5*time.Second, 100*time.Millisecond, "expected checkout to complete")
if completed.Amount != 8000 {
t.Errorf("expected amount 8000 (7500 + 500 tip), got %d", completed.Amount)
@@ -128,16 +119,11 @@ func TestDevClient_CreateCheckout_NoTip(t *testing.T) {
}
var completed *PaymentResult
for i := 0; i < 20; i++ {
completed, err = client.GetCheckout(ctx, result.ID)
if err == nil && completed.Status == "COMPLETED" {
break
}
time.Sleep(200 * time.Millisecond)
}
if err != nil {
t.Fatalf("GetCheckout failed: %v", err)
}
assert.Eventually(t, func() bool {
var getErr error
completed, getErr = client.GetCheckout(ctx, result.ID)
return getErr == nil && completed.Status == "COMPLETED"
}, 5*time.Second, 100*time.Millisecond, "expected checkout to complete")
if completed.Amount != 5000 {
t.Errorf("expected amount 5000 (no tip), got %d", completed.Amount)