test(kanban): render lib slot from view helper
Use RenderSlotExt in the kanban library smoke test so even the small public example test path avoids explicit SafeHtml/html plumbing. req: view/001 req: html_safety/002
This commit is contained in:
@@ -6,7 +6,7 @@ mod tests {
|
|||||||
use super::ui;
|
use super::ui;
|
||||||
use hemplate::Hemplate;
|
use hemplate::Hemplate;
|
||||||
use scraper::{Html, Selector};
|
use scraper::{Html, Selector};
|
||||||
use slhx::{Effect, IntoEffect, Payload, SafeHtml};
|
use slhx::{Effect, IntoEffect, Payload, RenderSlotExt};
|
||||||
use slhx_test::inspect;
|
use slhx_test::inspect;
|
||||||
|
|
||||||
#[derive(Hemplate)]
|
#[derive(Hemplate)]
|
||||||
@@ -27,7 +27,7 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
fn kanban_board_updates_generated_slot() {
|
fn kanban_board_updates_generated_slot() {
|
||||||
fn render_board() -> impl IntoEffect {
|
fn render_board() -> impl IntoEffect {
|
||||||
ui::board::slots::board.html(render_empty_board())
|
ui::board::slots::board.render_view(&empty_board())
|
||||||
}
|
}
|
||||||
|
|
||||||
let effect = inspect(render_board());
|
let effect = inspect(render_board());
|
||||||
@@ -38,18 +38,14 @@ mod tests {
|
|||||||
// req: html_safety/002 req: view/001 req: test/005
|
// req: html_safety/002 req: view/001 req: test/005
|
||||||
#[test]
|
#[test]
|
||||||
fn kanban_board_test_payload_is_rendered_by_a_hemplate_view() {
|
fn kanban_board_test_payload_is_rendered_by_a_hemplate_view() {
|
||||||
let html = render_empty_board();
|
let html = slhx::render_html(&empty_board());
|
||||||
let document = Html::parse_fragment(html.as_str());
|
let document = Html::parse_fragment(html.as_str());
|
||||||
assert_eq!(document.select(&selector(".columns")).count(), 1);
|
assert_eq!(document.select(&selector(".columns")).count(), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn render_empty_board() -> SafeHtml {
|
fn empty_board() -> BoardColumns {
|
||||||
// req: html_safety/002 req: view/001
|
// req: html_safety/002 req: view/001
|
||||||
let mut html = String::new();
|
|
||||||
BoardColumns { columns: Vec::new() }
|
BoardColumns { columns: Vec::new() }
|
||||||
.render_into(&mut html)
|
|
||||||
.expect("kanban board test view renders");
|
|
||||||
SafeHtml::trusted(html)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn selector(value: &str) -> Selector {
|
fn selector(value: &str) -> Selector {
|
||||||
|
|||||||
Reference in New Issue
Block a user