test: Created snapshot tests for all Radarr UI modules

This commit is contained in:
2025-12-15 20:17:09 -07:00
parent 7084ca1be2
commit 316ed64315
273 changed files with 8859 additions and 2031 deletions
@@ -3,13 +3,11 @@ mod tests {
use strum::IntoEnumIterator;
use crate::app::App;
use crate::models::HorizontallyScrollableText;
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ROOT_FOLDERS_BLOCKS};
use crate::models::servarr_models::RootFolder;
use crate::models::stateful_table::StatefulTable;
use crate::ui::DrawUi;
use crate::ui::radarr_ui::root_folders::RootFoldersUi;
use crate::ui::ui_test_utils::test_utils::render_to_string_with_app;
use crate::ui::ui_test_utils::test_utils::{TerminalSize, render_to_string_with_app};
#[test]
fn test_root_folders_ui_accepts() {
@@ -22,70 +20,52 @@ mod tests {
});
}
#[test]
fn test_root_folders_ui_renders_loading_state() {
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into());
mod snapshot_tests {
use rstest::rstest;
use super::*;
let output = render_to_string_with_app(120, 30, &mut app, |f, app| {
RootFoldersUi::draw(f, app, f.area());
});
#[test]
fn test_root_folders_ui_renders_loading() {
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into());
insta::assert_snapshot!(output);
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
RootFoldersUi::draw(f, app, f.area());
});
insta::assert_snapshot!(output);
}
#[test]
fn test_root_folders_ui_renders_empty_root_folders() {
let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into());
app.data.radarr_data.root_folders = StatefulTable::default();
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
RootFoldersUi::draw(f, app, f.area());
});
insta::assert_snapshot!(output);
}
#[rstest]
fn test_root_folders_ui_renders_root_folders_tab(
#[values(
ActiveRadarrBlock::RootFolders,
ActiveRadarrBlock::AddRootFolderPrompt,
ActiveRadarrBlock::DeleteRootFolderPrompt,
)] active_radarr_block: ActiveRadarrBlock
) {
let mut app = App::test_default_fully_populated();
app.push_navigation_stack(active_radarr_block.into());
let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| {
RootFoldersUi::draw(f, app, f.area());
});
insta::assert_snapshot!(active_radarr_block.to_string(), output);
}
}
#[test]
fn test_root_folders_ui_renders_empty_root_folders() {
let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into());
app.data.radarr_data.root_folders = StatefulTable::default();
let output = render_to_string_with_app(120, 30, &mut app, |f, app| {
RootFoldersUi::draw(f, app, f.area());
});
insta::assert_snapshot!(output);
}
#[test]
fn test_root_folders_ui_renders_with_root_folders() {
let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into());
app.data.radarr_data.root_folders = StatefulTable::default();
app.data.radarr_data.root_folders.set_items(vec![
RootFolder {
path: "/movies".to_owned(),
accessible: true,
free_space: 1024 * 1024 * 1024 * 100,
..RootFolder::default()
},
RootFolder {
path: "/media/movies".to_owned(),
accessible: true,
free_space: 1024 * 1024 * 1024 * 50,
..RootFolder::default()
},
]);
let output = render_to_string_with_app(120, 30, &mut app, |f, app| {
RootFoldersUi::draw(f, app, f.area());
});
insta::assert_snapshot!(output);
}
#[test]
fn test_root_folders_ui_renders_add_root_folder() {
let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::AddRootFolderPrompt.into());
app.data.radarr_data.root_folders = StatefulTable::default();
app.data.radarr_data.edit_root_folder = Some(HorizontallyScrollableText::default());
let output = render_to_string_with_app(120, 30, &mut app, |f, app| {
RootFoldersUi::draw(f, app, f.area());
});
insta::assert_snapshot!(output);
}
}
}
@@ -1,20 +0,0 @@
---
source: src/ui/radarr_ui/root_folders/root_folders_ui_tests.rs
expression: output
---
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╭────── Add Root Folder ───────╮
<esc> cancel
@@ -0,0 +1,31 @@
---
source: src/ui/radarr_ui/root_folders/root_folders_ui_tests.rs
expression: output
---
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Path Free Space Unmapped Folders
=> /nfs 204800.00 GB 0
╭───────────── Add Root Folder ─────────────╮
│/nfs/movies │
╰─────────────────────────────────────────────╯
<esc> cancel
@@ -0,0 +1,38 @@
---
source: src/ui/radarr_ui/root_folders/root_folders_ui_tests.rs
expression: output
---
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Path Free Space Unmapped Folders
=> /nfs 204800.00 GB 0
╭────────────────── Delete Root Folder ───────────────────╮
│ Do you really want to delete this root folder: │
│ /nfs? │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│╭────────────────────────────╮╭───────────────────────────╮│
││ Yes ││ No ││
│╰────────────────────────────╯╰───────────────────────────╯│
╰───────────────────────────────────────────────────────────╯
@@ -2,7 +2,6 @@
source: src/ui/radarr_ui/root_folders/root_folders_ui_tests.rs
expression: output
---
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Path Free Space Unmapped Folders
=> /movies 100.00 GB 0
/media/movies 50.00 GB 0
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Path Free Space Unmapped Folders
=> /nfs 204800.00 GB 0
@@ -2,4 +2,4 @@
source: src/ui/radarr_ui/root_folders/root_folders_ui_tests.rs
expression: output
---
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
@@ -2,7 +2,7 @@
source: src/ui/radarr_ui/root_folders/root_folders_ui_tests.rs
expression: output
---
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Loading ...