From f6a2c892cde548fa1de9c1f406dc12385295fd16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabor=20K=C3=B6rber?= Date: Tue, 14 Jan 2025 16:52:29 +0100 Subject: [PATCH] code: pushing tests to > 80% for initial satisfaction. --- src/lib.rs | 4 ++++ tests/test_route_init.rs | 31 +++++++++++++++++++++++++++---- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index d73b056..2a7ab02 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -12,6 +12,10 @@ use minijinja_autoreload::AutoReloader; use serde::Serialize; use std::{marker::PhantomData, path::Path, sync::Arc}; +#[cfg(feature = "testing")] +const TEMPLATES_DIR: &str = "tests"; + +#[cfg(not(feature = "testing"))] const TEMPLATES_DIR: &str = "assets/templates"; #[derive(Clone)] diff --git a/tests/test_route_init.rs b/tests/test_route_init.rs index ab1c64d..0ddb21b 100644 --- a/tests/test_route_init.rs +++ b/tests/test_route_init.rs @@ -2,21 +2,44 @@ #[cfg(feature = "testing")] mod tests { use axum::{routing::get, Router}; - use loco_minijinja_engine::MinijinjaViewEngineConfigurableInitializer; + use loco_minijinja_engine::{ + MinijinjaView, MinijinjaViewEngineConfigurableInitializer, MinijinjaViewEngineInitializer, + }; use loco_rs::app::Initializer; + use loco_rs::controller::views::ViewRenderer; use loco_rs::tests_cfg; + use serde_json::Value; #[tokio::test] - async fn test_after_routes_success() { + async fn test_after_routes_configured() { let router = Router::new().route("/", get(|| async { "Hello, World!" })); let ctx = tests_cfg::app::get_app_context().await; - let std_initializer = + let initializer = MinijinjaViewEngineConfigurableInitializer::new("tests".to_string(), None); // Call the after_routes function - let result = std_initializer.after_routes(router, &ctx).await; + let result = initializer.after_routes(router, &ctx).await; assert!(result.is_ok(), "result was NOT OK: {:?}", result); } + + #[tokio::test] + async fn test_after_routes_std() { + let router = Router::new().route("/", get(|| async { "Hello, World!" })); + let ctx = tests_cfg::app::get_app_context().await; + + let initializer = MinijinjaViewEngineInitializer; + let result = initializer.after_routes(router, &ctx).await; + + assert!(result.is_ok(), "result was NOT OK: {:?}", result); + } + + #[test] + fn test_rendering() { + let jinja: MinijinjaView = MinijinjaView::build().unwrap(); + let result = jinja.render("test.html", Value::default()); + assert!(result.is_ok(), "result was NOT OK: {:?}", result); + assert_eq!(result.unwrap(), "\r\nHello World!\r\n"); + } }