Merge branch 'main' into collaudo
Porta su collaudo i prezzi di lancio, la pagina Funzionalità e i badge store.
This commit is contained in:
@@ -72,7 +72,7 @@ RSpec.describe "Public club billing", type: :request do
|
||||
get public_club_billing_path(club)
|
||||
|
||||
expect(response.body).to include("Completa dati di fatturazione")
|
||||
expect(response.body).not_to include("Attiva Premium Light — €40/anno")
|
||||
expect(response.body).not_to include("Attiva Light — €59/anno")
|
||||
end
|
||||
|
||||
it "dopo profilo completo reindirizza al checkout" do
|
||||
@@ -111,8 +111,8 @@ RSpec.describe "Public club billing", type: :request do
|
||||
|
||||
login!
|
||||
get public_club_billing_path(club)
|
||||
expect(response.body).to include("Premium Light — €40/anno")
|
||||
expect(response.body).to include("Premium Light — €5/mese")
|
||||
expect(response.body).to include("Attiva Light — €59/anno")
|
||||
expect(response.body).to include("Attiva Light — €7,90/mese")
|
||||
|
||||
allow(Billing::Stripe::CheckoutSession).to receive(:new).and_return(
|
||||
instance_double(Billing::Stripe::CheckoutSession, url: "https://checkout.stripe.com/test")
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
require "rails_helper"
|
||||
|
||||
RSpec.describe "Public features page", type: :request do
|
||||
it "racconta il prodotto con sezioni narrative e CTA" do
|
||||
get public_features_path
|
||||
|
||||
expect(response).to have_http_status(:ok)
|
||||
expect(response.body).to include("Le dirette della tua società")
|
||||
expect(response.body).to include("Senza password condivise")
|
||||
expect(response.body).to include("Uno smartphone")
|
||||
expect(response.body).to include("Un account personale")
|
||||
expect(response.body).to include("Sei in diretta")
|
||||
expect(response.body).to include("Dalla palestra agli spettatori")
|
||||
expect(response.body).to include("Ognuno con il proprio account")
|
||||
expect(response.body).to include("Niente password condivise")
|
||||
expect(response.body).to include("Chi filma, filma")
|
||||
expect(response.body).to include("Accesso con link")
|
||||
expect(response.body).to include("La diretta resta della tua società")
|
||||
expect(response.body).to include("La partita finisce. Il ricordo resta.")
|
||||
expect(response.body).to include("Inizia gratis")
|
||||
expect(response.body).to include("Confronta i piani")
|
||||
expect(response.body).to include(public_signup_path)
|
||||
expect(response.body).to include(public_prezzi_path)
|
||||
expect(response.body).not_to include("translation missing")
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,41 @@
|
||||
require "rails_helper"
|
||||
|
||||
RSpec.describe "Public home page", type: :request do
|
||||
it "mostra i link agli store nell'hero e nel footer" do
|
||||
get root_path
|
||||
|
||||
expect(response).to have_http_status(:ok)
|
||||
expect(response.body).to include(MatchLiveTv.app_store_url)
|
||||
expect(response.body).to include(MatchLiveTv.play_store_url)
|
||||
expect(response.body).to include(I18n.t("home.stores_label", locale: :it))
|
||||
expect(response.body).to include(I18n.t("home.store_app_store_name", locale: :it))
|
||||
expect(response.body).to include(I18n.t("home.store_play_name", locale: :it))
|
||||
expect(response.body.scan(MatchLiveTv.app_store_url).size).to eq(3)
|
||||
expect(response.body.scan(MatchLiveTv.play_store_url).size).to eq(3)
|
||||
end
|
||||
|
||||
{
|
||||
"it" => "Per andare in diretta dallo smartphone",
|
||||
"en" => "To go live from your smartphone",
|
||||
"fr" => "Pour passer en direct depuis le smartphone",
|
||||
"de" => "Live gehen vom Smartphone",
|
||||
"es" => "Para emitir en directo desde el smartphone"
|
||||
}.each do |locale, label|
|
||||
it "traduce i badge store in #{locale} senza translation missing" do
|
||||
cookies[:mltv_locale] = locale
|
||||
get root_path
|
||||
|
||||
expect(response).to have_http_status(:ok)
|
||||
expect(response.body).to include(label)
|
||||
expect(response.body).not_to include("translation missing")
|
||||
end
|
||||
end
|
||||
|
||||
it "non mostra i badge store nel chrome App Store Review" do
|
||||
get public_support_path
|
||||
|
||||
expect(response).to have_http_status(:ok)
|
||||
expect(response.body).not_to include(MatchLiveTv.app_store_url)
|
||||
expect(response.body).not_to include(MatchLiveTv.play_store_url)
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,32 @@
|
||||
require "rails_helper"
|
||||
|
||||
RSpec.describe "Public pricing page", type: :request do
|
||||
before { load Rails.root.join("db/seeds/plans.rb") }
|
||||
|
||||
it "mostra prezzi lancio, listino barrato e Full in evidenza" do
|
||||
get public_prezzi_path
|
||||
|
||||
expect(response).to have_http_status(:ok)
|
||||
expect(response.body).to include("€59/anno")
|
||||
expect(response.body).to include("€79/anno")
|
||||
expect(response.body).to include("€199/anno")
|
||||
expect(response.body).to include("€249/anno")
|
||||
expect(response.body).to include("€7,90/mese")
|
||||
expect(response.body).to include("€24,90/mese")
|
||||
expect(response.body).to include("equivale a €4,92/mese")
|
||||
expect(response.body).to include("equivale a €16,58/mese")
|
||||
expect(response.body).to include("Prezzo lancio")
|
||||
expect(response.body).to include("Consigliato per le società")
|
||||
expect(response.body).to include("Attiva Light — €59/anno")
|
||||
expect(response.body).to include("Attiva Light — €7,90/mese")
|
||||
expect(response.body).to include("Attiva Full — €199/anno")
|
||||
expect(response.body).to include("Attiva Full — €24,90/mese")
|
||||
expect(response.body).to include("Account trasmettitori: massimo")
|
||||
expect(response.body).to include("per abbonamento")
|
||||
expect(response.body).to include("Account trasmettitori")
|
||||
expect(response.body).to include("Niente password condivise")
|
||||
expect(response.body).to include("plan-card--featured")
|
||||
expect(response.body).not_to include("a vita")
|
||||
expect(response.body).not_to include("Più popolare")
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user