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:
2026-06-02 17:10:12 +02:00
parent 148402a97c
commit a5e781729c
78 changed files with 2457 additions and 424 deletions

View 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