1
//! Tests for modal types and key policy.
2

            
3
use super::*;
4
use crate::widgets::{EditMode, Editor};
5

            
6
1
fn a_config_set_form() -> Modal {
7
1
    Modal::Form(Form::config_set(
8
1
        Editor::new(EditMode::Emacs),
9
1
        Editor::new(EditMode::Emacs),
10
1
    ))
11
1
}
12

            
13
1
fn a_confirm() -> Modal {
14
1
    Modal::Confirm {
15
1
        prompt: "Delete?".to_string(),
16
1
        action: ConfirmAction::DeleteTransaction("uuid-abc".to_string()),
17
1
    }
18
1
}
19

            
20
#[test]
21
1
fn key_policy_distinguishes_display_from_input() {
22
1
    assert_eq!(a_config_set_form().key_policy(), KeyPolicy::Input);
23
1
    assert_eq!(Modal::Help.key_policy(), KeyPolicy::Display);
24
1
    let report_params = Modal::Form(Form::report_params(
25
1
        Editor::new(EditMode::Emacs),
26
1
        Editor::new(EditMode::Emacs),
27
1
        Editor::new(EditMode::Emacs),
28
1
        crate::tabs::reports::ReportKind::Activity,
29
1
    ));
30
1
    assert_eq!(report_params.key_policy(), KeyPolicy::Input);
31
1
}
32

            
33
#[test]
34
1
fn confirm_overlay_key_policy_is_display() {
35
1
    assert_eq!(a_confirm().key_policy(), KeyPolicy::Display);
36
1
}