Billing: fatture manuali, profilo obbligatorio e piani Stripe mensile/annuale.
Rimuove link al portale Stripe in area cliente, aggiunge flusso admin per PDF fattura e email, blocca checkout senza dati di fatturazione, allinea prezzi a €4,90/€39,90 e €9,90/€69,90, locale italiano e documentazione deploy. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
28
backend/spec/services/billing/payment_description_spec.rb
Normal file
28
backend/spec/services/billing/payment_description_spec.rb
Normal file
@@ -0,0 +1,28 @@
|
||||
require "rails_helper"
|
||||
|
||||
RSpec.describe Billing::PaymentDescription do
|
||||
before { load Rails.root.join("db/seeds/plans.rb") }
|
||||
|
||||
it "etichetta da piano e intervallo Stripe" do
|
||||
invoice = double(
|
||||
amount_paid: 500,
|
||||
metadata: { "plan_slug" => "premium_light", "billing_interval" => "monthly" },
|
||||
lines: double(data: [])
|
||||
)
|
||||
|
||||
expect(described_class.for_stripe_invoice(invoice)).to eq("Premium Light — €5/mese")
|
||||
end
|
||||
|
||||
it "ignora descrizioni di test nel pagamento salvato" do
|
||||
payment = Billing::Payment.new(
|
||||
description: "Webhook test",
|
||||
plan_slug: "premium_light",
|
||||
amount_cents: 4000,
|
||||
currency: "eur",
|
||||
status: "paid",
|
||||
club: Club.create!(name: "C", sport: "volleyball", primary_color: "#e53935", secondary_color: "#ffffff")
|
||||
)
|
||||
|
||||
expect(payment.display_description).to eq("Premium Light — €40/anno")
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user