194 lines
5.7 KiB
Rust
194 lines
5.7 KiB
Rust
#[cfg(test)]
|
|
mod snapshot_tests {
|
|
use crate::app::App;
|
|
use crate::handlers::populate_keymapping_table;
|
|
use crate::models::servarr_data::Notification;
|
|
use crate::models::servarr_data::lidarr::lidarr_data::ActiveLidarrBlock;
|
|
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
|
use crate::models::servarr_data::sonarr::sonarr_data::ActiveSonarrBlock;
|
|
use crate::ui;
|
|
use crate::ui::ui_test_utils::test_utils::{TerminalSize, render_to_string_with_app};
|
|
|
|
#[test]
|
|
fn test_radarr_ui_renders_library_tab() {
|
|
let mut app = App::test_default_fully_populated();
|
|
app.push_navigation_stack(ActiveRadarrBlock::default().into());
|
|
|
|
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
|
|
ui(f, app);
|
|
});
|
|
|
|
insta::assert_snapshot!(output);
|
|
}
|
|
|
|
#[test]
|
|
fn test_radarr_ui_renders_library_tab_with_error() {
|
|
let mut app = App::test_default_fully_populated();
|
|
app.error = "Some error".into();
|
|
app.push_navigation_stack(ActiveRadarrBlock::default().into());
|
|
|
|
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
|
|
ui(f, app);
|
|
});
|
|
|
|
insta::assert_snapshot!(output);
|
|
}
|
|
|
|
#[test]
|
|
fn test_radarr_ui_renders_library_tab_error_popup() {
|
|
let mut app = App::test_default_fully_populated();
|
|
populate_keymapping_table(&mut app);
|
|
app.push_navigation_stack(ActiveRadarrBlock::default().into());
|
|
|
|
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
|
|
ui(f, app);
|
|
});
|
|
|
|
insta::assert_snapshot!(output);
|
|
}
|
|
|
|
#[test]
|
|
fn test_radarr_ui_renders_notification_success_popup() {
|
|
let mut app = App::test_default_fully_populated();
|
|
app.notification = Some(Notification::new(
|
|
"Download Result".to_owned(),
|
|
"Download request sent successfully".to_owned(),
|
|
true,
|
|
));
|
|
app.push_navigation_stack(ActiveRadarrBlock::default().into());
|
|
|
|
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
|
|
ui(f, app);
|
|
});
|
|
|
|
insta::assert_snapshot!(output);
|
|
}
|
|
|
|
#[test]
|
|
fn test_radarr_ui_renders_notification_failure_popup() {
|
|
let mut app = App::test_default_fully_populated();
|
|
app.notification = Some(Notification::new(
|
|
"Download Failed".to_owned(),
|
|
"Request failed. Received 500 response code".to_owned(),
|
|
false,
|
|
));
|
|
app.push_navigation_stack(ActiveRadarrBlock::default().into());
|
|
|
|
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
|
|
ui(f, app);
|
|
});
|
|
|
|
insta::assert_snapshot!(output);
|
|
}
|
|
|
|
#[test]
|
|
fn test_sonarr_ui_renders_library_tab() {
|
|
let mut app = App::test_default_fully_populated();
|
|
app.push_navigation_stack(ActiveSonarrBlock::default().into());
|
|
|
|
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
|
|
ui(f, app);
|
|
});
|
|
|
|
insta::assert_snapshot!(output);
|
|
}
|
|
|
|
#[test]
|
|
fn test_sonarr_ui_renders_library_tab_with_error() {
|
|
let mut app = App::test_default_fully_populated();
|
|
app.push_navigation_stack(ActiveSonarrBlock::default().into());
|
|
app.error = "Some error".into();
|
|
|
|
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
|
|
ui(f, app);
|
|
});
|
|
|
|
insta::assert_snapshot!(output);
|
|
}
|
|
|
|
#[test]
|
|
fn test_sonarr_ui_renders_library_tab_error_popup() {
|
|
let mut app = App::test_default_fully_populated();
|
|
populate_keymapping_table(&mut app);
|
|
app.push_navigation_stack(ActiveSonarrBlock::default().into());
|
|
|
|
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
|
|
ui(f, app);
|
|
});
|
|
|
|
insta::assert_snapshot!(output);
|
|
}
|
|
|
|
#[test]
|
|
fn test_sonarr_ui_renders_notification_success_popup() {
|
|
let mut app = App::test_default_fully_populated();
|
|
app.notification = Some(Notification::new(
|
|
"Download Result".to_owned(),
|
|
"Download request sent successfully".to_owned(),
|
|
true,
|
|
));
|
|
app.push_navigation_stack(ActiveSonarrBlock::default().into());
|
|
|
|
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
|
|
ui(f, app);
|
|
});
|
|
|
|
insta::assert_snapshot!(output);
|
|
}
|
|
|
|
#[test]
|
|
fn test_lidarr_ui_renders_library_tab() {
|
|
let mut app = App::test_default_fully_populated();
|
|
app.push_navigation_stack(ActiveLidarrBlock::default().into());
|
|
|
|
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
|
|
ui(f, app);
|
|
});
|
|
|
|
insta::assert_snapshot!(output);
|
|
}
|
|
|
|
#[test]
|
|
fn test_lidarr_ui_renders_library_tab_with_error() {
|
|
let mut app = App::test_default_fully_populated();
|
|
app.push_navigation_stack(ActiveLidarrBlock::default().into());
|
|
app.error = "Some error".into();
|
|
|
|
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
|
|
ui(f, app);
|
|
});
|
|
|
|
insta::assert_snapshot!(output);
|
|
}
|
|
|
|
#[test]
|
|
fn test_lidarr_ui_renders_notification_success_popup() {
|
|
let mut app = App::test_default_fully_populated();
|
|
app.notification = Some(Notification::new(
|
|
"Download Result".to_owned(),
|
|
"Download request sent successfully".to_owned(),
|
|
true,
|
|
));
|
|
app.push_navigation_stack(ActiveLidarrBlock::default().into());
|
|
|
|
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
|
|
ui(f, app);
|
|
});
|
|
|
|
insta::assert_snapshot!(output);
|
|
}
|
|
|
|
#[test]
|
|
fn test_lidarr_ui_renders_library_tab_error_popup() {
|
|
let mut app = App::test_default_fully_populated();
|
|
populate_keymapping_table(&mut app);
|
|
app.push_navigation_stack(ActiveLidarrBlock::default().into());
|
|
|
|
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
|
|
ui(f, app);
|
|
});
|
|
|
|
insta::assert_snapshot!(output);
|
|
}
|
|
}
|