test(kanban): exercise checked form handler path
Add a kanban example smoke test for #[slhx::form] plus #[slhx::handler] over the generated create_card form resource. req: form/001 req: form/004 req: form/006 req: derive_handler/003
This commit is contained in:
@@ -15,6 +15,14 @@ mod tests {
|
|||||||
columns: Vec<String>,
|
columns: Vec<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(dead_code)]
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
#[slhx::form("create_card")]
|
||||||
|
struct CreateCard {
|
||||||
|
title: String,
|
||||||
|
column: String,
|
||||||
|
}
|
||||||
|
|
||||||
// req: examples/001 req: codegen/002 req: list/003
|
// req: examples/001 req: codegen/002 req: list/003
|
||||||
#[test]
|
#[test]
|
||||||
fn kanban_board_updates_generated_slot() {
|
fn kanban_board_updates_generated_slot() {
|
||||||
@@ -48,6 +56,20 @@ mod tests {
|
|||||||
Selector::parse(value).expect("test selector parses")
|
Selector::parse(value).expect("test selector parses")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// req: examples/001 req: form/001 req: form/004 req: form/006 req: derive_handler/003
|
||||||
|
#[test]
|
||||||
|
fn kanban_form_handler_is_checked_against_hemplate_form() {
|
||||||
|
#[slhx::handler]
|
||||||
|
fn create_card(_form: slhx::Form<CreateCard>) -> impl IntoEffect {
|
||||||
|
ui::board::slots::notice.text("queued")
|
||||||
|
}
|
||||||
|
|
||||||
|
let effect = inspect(create_card(ui::board::forms::create_card.typed::<CreateCard>()));
|
||||||
|
|
||||||
|
assert!(effect.has_slot(ui::board::slots::notice));
|
||||||
|
assert!(matches!(effect.ops(), [Effect::Put { payload: Payload::Text(_), .. }]));
|
||||||
|
}
|
||||||
|
|
||||||
// req: examples/001 req: form/002 req: codegen/003
|
// req: examples/001 req: form/002 req: codegen/003
|
||||||
#[test]
|
#[test]
|
||||||
fn kanban_template_exports_form_and_card_handles() {
|
fn kanban_template_exports_form_and_card_handles() {
|
||||||
|
|||||||
Reference in New Issue
Block a user