// Generated by sz-rust-cli make:plugin --template {{ template_type }} --name {{ plugin_name }}
// DO NOT EDIT MANUALLY
//! Tests for workflow `{{ plugin_name }}` state transitions
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_initial_state() {
let state = {{ class_name }}State::default();
assert_eq!(state, {{ class_name }}State::{{ initial_state | pascal_case }});
}
#[test]
fn test_state_display() {
{%- for state in states %}
assert_eq!({{ class_name }}State::{{ state.name | pascal_case }}.to_string(), "{{ state.name }}");
{%- endfor %}
}
#[test]
fn test_valid_transitions() {
{%- for transition in transitions %}
assert!(can_transition(
{{ class_name }}State::{{ transition.from | pascal_case }},
{{ class_name }}State::{{ transition.to | pascal_case }}
));
{%- endfor %}
}
#[test]
fn test_invalid_transition() {
assert!(!can_transition(
{{ class_name }}State::{{ initial_state | pascal_case }},
{{ class_name }}State::{{ initial_state | pascal_case }}
));
}
}