This commit is contained in:
2026-08-16 11:37:42 +02:00
parent dc9ea628c1
commit 52f27e30fc
26 changed files with 1137 additions and 56 deletions
+18
View File
@@ -93,6 +93,24 @@ func TestStripeConfigMockMode(t *testing.T) {
}
}
func TestEnsureSelfServeCheckout(t *testing.T) {
live := &StripeService{Cfg: StripeConfig{SecretKey: "sk_test_x"}}
if err := live.EnsureSelfServeCheckout(context.TODO(), false); err != nil {
t.Fatalf("live stripe should allow any admin: %v", err)
}
mock := &StripeService{Cfg: StripeConfig{ForceMock: true}}
if err := mock.EnsureSelfServeCheckout(context.TODO(), true); err != nil {
t.Fatalf("mock + platform admin should allow: %v", err)
}
if err := mock.EnsureSelfServeCheckout(context.TODO(), false); !errors.Is(err, ErrStripeSelfServeUnavailable) {
t.Fatalf("mock + non-platform admin: want ErrStripeSelfServeUnavailable, got %v", err)
}
empty := &StripeService{Cfg: StripeConfig{}}
if err := empty.EnsureSelfServeCheckout(context.TODO(), true); !errors.Is(err, ErrStripeNotConfigured) {
t.Fatalf("empty secret: want ErrStripeNotConfigured, got %v", err)
}
}
func TestCreateCheckoutSessionFailsClosedWithoutSecret(t *testing.T) {
s := &StripeService{Cfg: StripeConfig{WebOrigin: "http://localhost:5174"}}
_, err := s.CreateCheckoutSession(context.TODO(), uuid.Nil, "a@b.c", "Acme", CheckoutRequest{Plan: "starter", Term: "monthly"})