From 18d9f5135423ce9ea57d6beb851a8f777859359c Mon Sep 17 00:00:00 2001 From: Philipp Hofer Date: Wed, 26 Mar 2025 20:56:39 +0100 Subject: [PATCH] fix kiosk error --- src/tera/stat.rs | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/src/tera/stat.rs b/src/tera/stat.rs index f1823bf..3665b4c 100644 --- a/src/tera/stat.rs +++ b/src/tera/stat.rs @@ -47,12 +47,13 @@ async fn index(db: &State, user: DonauLinzUser, year: Option) - async fn index_kiosk(db: &State, _kiosk: KioskCookie, year: Option) -> Template { let stat = Stat::people(db, year).await; let club_km = Stat::sum_people(db, year).await; + let club_trips = Stat::trips_people(db, year).await; let guest_km = Stat::guest(db, year).await; let kiosk = true; Template::render( "stat.people", - context!(stat, kiosk, show_kiosk_header: true, guest_km, club_km), + context!(stat, kiosk, show_kiosk_header: true, guest_km, club_km, club_trips), ) } @@ -61,4 +62,30 @@ pub fn routes() -> Vec { } #[cfg(test)] -mod test {} +mod test { + use rocket::{http::Status, local::asynchronous::Client}; + use sqlx::SqlitePool; + + use crate::testdb; + + #[sqlx::test] + fn test_kiosk_stat() { + let db = testdb!(); + + let rocket = rocket::build().manage(db.clone()); + let rocket = crate::tera::config(rocket); + + let client = Client::tracked(rocket).await.unwrap(); + // "Log in" + let req = client.get("/log/kiosk/ekrv2019/Linz"); + let _ = req.dispatch().await; + + // `/stat` should be viewable + let req = client.get("/stat"); + let response = req.dispatch().await; + + assert_eq!(response.status(), Status::Ok); + let text = response.into_string().await.unwrap(); + assert!(text.contains("Statistik")); + } +}