Semplifica il grafico analytics: solo pageview e toggle nascondi.

Chiarisce che il totale è su tutte le pagine (filtri Da/A/Device), distinto dal dettaglio per path.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-08 22:07:34 +02:00
co-authored by Cursor
parent 53ad26fdbe
commit 81e7e3c9af
10 changed files with 143 additions and 61 deletions
+19 -2
View File
@@ -7,6 +7,8 @@ RSpec.describe "Admin analytics", type: :request do
before do
post admin_login_path, params: { username: admin.username, password: "Password123" }
AnalyticsPageStat.delete_all
AnalyticsPageCell.delete_all
AnalyticsPageStat.create!(
day: Time.zone.today,
page_path: "/prezzi",
@@ -35,9 +37,12 @@ RSpec.describe "Admin analytics", type: :request do
expect(response.body).to include("40")
expect(response.body).to include("chart-analytics-trend")
expect(response.body).to include("adminAnalyticsTrend")
expect(response.body).to include(I18n.t("admin.analytics.index.hide_chart"))
expect(response.body).to include("hideChart")
expect(response.body).not_to include("clicks:")
end
it "mostra il trend anche su più giorni" do
it "il grafico rispetta i filtri data e aggrega pageview di tutte le pagine" do
AnalyticsPageStat.create!(
day: 1.day.ago.to_date,
page_path: "/prezzi",
@@ -47,13 +52,25 @@ RSpec.describe "Admin analytics", type: :request do
scroll_sum_pct: 0,
max_scroll_pct: 0
)
AnalyticsPageStat.create!(
day: Time.zone.today,
page_path: "/altro",
device: "desktop",
pageview_count: 7,
scroll_samples: 0,
scroll_sum_pct: 0,
max_scroll_pct: 0
)
get admin_analytics_path, params: { from: 2.days.ago.to_date, to: Time.zone.today }
expect(response).to have_http_status(:ok)
expect(response.body).to include(I18n.t("admin.analytics.index.trend_total_label"))
expect(response.body).to include(">24<")
expect(response.body).to include("\"pageviews\":5")
expect(response.body).to include("\"pageviews\":12")
expect(response.body).to include("\"pageviews\":19")
end
it "mostra la heatmap di una pagina con tab dispositivo" do
get admin_analytics_page_path, params: { page_path: "/prezzi" }
expect(response).to have_http_status(:ok)