From a8d13ae5c8751bae66098dda42bf568e2f67a974 Mon Sep 17 00:00:00 2001 From: Alex Clarke Date: Thu, 3 Sep 2026 01:41:01 -0600 Subject: [PATCH] feat(readarr): render the author details view Add AuthorDetailsUi: the author description pane plus the three author info tabs (Books, History, and Author Search), along with the history item details, automatic search, update and scan, and manual search confirmation popups. LibraryUi now accepts and draws it over the authors table. The description pane omits the Disambiguation and Type lines that the Lidarr equivalent renders. GET /author returns neither key, so both lines would be blank on every record. The books table drops the Type and Duration columns for the same reason, since books have no type and no duration, and renders Files as the book file count over the total book count. Land create_history_event_details together with this first caller so it is not committed as an unused function. Extract decorate_book_row_with_style rather than inlining the row styling in the table closure, matching decorate_author_row_with_style in the sibling library view. Rendering to a string discards colour, so the styling branches are only reachable by tests through a named function. --- .../readarr_ui/library/author_details_ui.rs | 587 ++++++++++++++++++ .../library/author_details_ui_tests.rs | 299 +++++++++ src/ui/readarr_ui/library/library_ui_tests.rs | 22 +- src/ui/readarr_ui/library/mod.rs | 11 +- ...tests__author_details_AuthorDetails_0.snap | 52 ++ ...author_details_AuthorHistoryDetails_1.snap | 52 ++ ...hor_details_AuthorHistorySortPrompt_1.snap | 52 ++ ...tests__author_details_AuthorHistory_1.snap | 52 ++ ...ils_AutomaticallySearchAuthorPrompt_0.snap | 52 ++ ...ils_AutomaticallySearchAuthorPrompt_1.snap | 52 ++ ...ils_AutomaticallySearchAuthorPrompt_2.snap | 52 ++ ...or_details_FilterAuthorHistoryError_1.snap | 52 ++ ..._author_details_FilterAuthorHistory_1.snap | 52 ++ ...ils_ManualAuthorSearchConfirmPrompt_2.snap | 52 ++ ...etails_ManualAuthorSearchSortPrompt_2.snap | 52 ++ ...__author_details_ManualAuthorSearch_2.snap | 52 ++ ...or_details_SearchAuthorHistoryError_1.snap | 52 ++ ..._author_details_SearchAuthorHistory_1.snap | 52 ++ ...ts__author_details_SearchBooksError_0.snap | 52 ++ ...t_tests__author_details_SearchBooks_0.snap | 52 ++ ...r_details_UpdateAndScanAuthorPrompt_0.snap | 52 ++ ...r_details_UpdateAndScanAuthorPrompt_1.snap | 52 ++ ...r_details_UpdateAndScanAuthorPrompt_2.snap | 52 ++ ...tic_search_prompt_over_author_details.snap | 52 ++ ..._author_details_ui_renders_statistics.snap | 52 ++ ...e_and_scan_prompt_over_author_details.snap | 52 ++ ...s__empty_author_details_AuthorDetails.snap | 52 ++ ...s__empty_author_details_AuthorHistory.snap | 52 ++ ...y_author_details_AuthorHistoryDetails.snap | 52 ++ ...pty_author_details_ManualAuthorSearch.snap | 52 ++ ..._loading_author_details_AuthorDetails.snap | 52 ++ ..._loading_author_details_AuthorHistory.snap | 52 ++ ...ing_author_details_ManualAuthorSearch.snap | 52 ++ ...i_renders_author_details_over_library.snap | 52 ++ src/ui/readarr_ui/mod.rs | 1 + src/ui/readarr_ui/readarr_ui_utils.rs | 164 +++++ src/ui/readarr_ui/readarr_ui_utils_tests.rs | 477 ++++++++++++++ 37 files changed, 3118 insertions(+), 3 deletions(-) create mode 100644 src/ui/readarr_ui/library/author_details_ui.rs create mode 100644 src/ui/readarr_ui/library/author_details_ui_tests.rs create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorDetails_0.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorHistoryDetails_1.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorHistorySortPrompt_1.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorHistory_1.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AutomaticallySearchAuthorPrompt_0.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AutomaticallySearchAuthorPrompt_1.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AutomaticallySearchAuthorPrompt_2.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_FilterAuthorHistoryError_1.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_FilterAuthorHistory_1.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ManualAuthorSearchConfirmPrompt_2.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ManualAuthorSearchSortPrompt_2.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ManualAuthorSearch_2.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchAuthorHistoryError_1.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchAuthorHistory_1.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchBooksError_0.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchBooks_0.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_UpdateAndScanAuthorPrompt_0.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_UpdateAndScanAuthorPrompt_1.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_UpdateAndScanAuthorPrompt_2.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ui_renders_automatic_search_prompt_over_author_details.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ui_renders_statistics.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ui_renders_update_and_scan_prompt_over_author_details.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_AuthorDetails.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_AuthorHistory.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_AuthorHistoryDetails.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_ManualAuthorSearch.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__loading_author_details_AuthorDetails.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__loading_author_details_AuthorHistory.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__loading_author_details_ManualAuthorSearch.snap create mode 100644 src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__library_ui_tests__tests__snapshot_tests__library_ui_renders_author_details_over_library.snap create mode 100644 src/ui/readarr_ui/readarr_ui_utils.rs create mode 100644 src/ui/readarr_ui/readarr_ui_utils_tests.rs diff --git a/src/ui/readarr_ui/library/author_details_ui.rs b/src/ui/readarr_ui/library/author_details_ui.rs new file mode 100644 index 00000000..abcbdf04 --- /dev/null +++ b/src/ui/readarr_ui/library/author_details_ui.rs @@ -0,0 +1,587 @@ +use chrono::Utc; +use deunicode::deunicode; +use ratatui::Frame; +use ratatui::layout::{Constraint, Layout, Rect}; +use ratatui::style::Stylize; +use ratatui::text::Line; +use ratatui::widgets::{Cell, Paragraph, Row, Wrap}; +use regex::Regex; + +use crate::app::App; +use crate::models::Route; +use crate::models::readarr_models::{Book, ReadarrHistoryItem, ReadarrRelease}; +use crate::models::servarr_data::readarr::readarr_data::{ + AUTHOR_DETAILS_BLOCKS, ActiveReadarrBlock, +}; +use crate::ui::readarr_ui::readarr_ui_utils::create_history_event_details; +use crate::ui::styles::{ManagarrStyle, secondary_style}; +use crate::ui::utils::decorate_peer_style; +use crate::ui::utils::{ + borderless_block, get_width_from_percentage, layout_block_top_border, title_block, +}; +use crate::ui::widgets::confirmation_prompt::ConfirmationPrompt; +use crate::ui::widgets::loading_block::LoadingBlock; +use crate::ui::widgets::managarr_table::ManagarrTable; +use crate::ui::widgets::message::Message; +use crate::ui::widgets::popup::{Popup, Size}; +use crate::ui::{DrawUi, draw_popup, draw_tabs}; +use crate::utils::convert_to_gb; +use ratatui::layout::Alignment; +use ratatui::text::Text; +use serde_json::Number; + +#[cfg(test)] +#[path = "author_details_ui_tests.rs"] +mod author_details_ui_tests; + +pub(super) struct AuthorDetailsUi; + +impl DrawUi for AuthorDetailsUi { + fn accepts(route: Route) -> bool { + let Route::Readarr(active_readarr_block, _) = route else { + return false; + }; + AUTHOR_DETAILS_BLOCKS.contains(&active_readarr_block) + } + + fn draw(f: &mut Frame<'_>, app: &mut App<'_>, _area: Rect) { + let route = app.get_current_route(); + if let Route::Readarr(active_readarr_block, _) = route { + let draw_author_details_popup = |f: &mut Frame<'_>, app: &mut App<'_>, popup_area: Rect| { + f.render_widget( + title_block( + &app + .data + .readarr_data + .authors + .current_selection() + .author_name + .text, + ), + popup_area, + ); + let [description_area, detail_area] = + Layout::vertical([Constraint::Length(12), Constraint::Fill(0)]) + .margin(1) + .areas(popup_area); + draw_author_description(f, app, description_area); + let content_area = draw_tabs( + f, + detail_area, + "Author Details", + &app.data.readarr_data.author_info_tabs, + ); + draw_author_details(f, app, content_area); + + match active_readarr_block { + ActiveReadarrBlock::AuthorHistoryDetails => { + draw_author_history_item_details_popup(f, app); + } + ActiveReadarrBlock::AutomaticallySearchAuthorPrompt => { + let prompt = format!( + "Do you want to trigger an automatic search of your indexers for all monitored book(s) for the author: {}?", + app + .data + .readarr_data + .authors + .current_selection() + .author_name + ); + let confirmation_prompt = ConfirmationPrompt::new() + .title("Automatic Author Search") + .prompt(&prompt) + .yes_no_value(app.data.readarr_data.prompt_confirm); + + f.render_widget( + Popup::new(confirmation_prompt).size(Size::MediumPrompt), + f.area(), + ); + } + ActiveReadarrBlock::UpdateAndScanAuthorPrompt => { + let prompt = format!( + "Do you want to trigger an update and disk scan for the author: {}?", + app + .data + .readarr_data + .authors + .current_selection() + .author_name + ); + let confirmation_prompt = ConfirmationPrompt::new() + .title("Update and Scan") + .prompt(&prompt) + .yes_no_value(app.data.readarr_data.prompt_confirm); + + f.render_widget( + Popup::new(confirmation_prompt).size(Size::MediumPrompt), + f.area(), + ); + } + ActiveReadarrBlock::ManualAuthorSearchConfirmPrompt => { + draw_manual_author_search_confirm_prompt(f, app); + } + _ => (), + } + }; + + draw_popup(f, app, draw_author_details_popup, Size::XXLarge); + } + } +} + +fn draw_author_description(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) { + let current_selection = app.data.readarr_data.authors.current_selection(); + let monitored = if current_selection.monitored { + "Yes" + } else { + "No" + }; + let quality_profile = app + .data + .readarr_data + .quality_profile_map + .get_by_left(¤t_selection.quality_profile_id) + .cloned() + .unwrap_or_default(); + let metadata_profile = app + .data + .readarr_data + .metadata_profile_map + .get_by_left(¤t_selection.metadata_profile_id) + .cloned() + .unwrap_or_default(); + let overview = Regex::new(r"[\r\n\t]") + .unwrap() + .replace_all( + &deunicode( + current_selection + .overview + .as_ref() + .unwrap_or(&String::new()), + ), + "", + ) + .to_string(); + + let mut author_description = vec![ + Line::from(vec![ + "Author: ".primary().bold(), + current_selection.author_name.text.clone().primary().bold(), + ]), + Line::from(vec![ + "Overview: ".primary().bold(), + overview.default_color(), + ]), + Line::from(vec![ + "Status: ".primary().bold(), + current_selection.status.to_display_str().default_color(), + ]), + Line::from(vec![ + "Genres: ".primary().bold(), + current_selection.genres.join(", ").default_color(), + ]), + Line::from(vec![ + "Rating: ".primary().bold(), + current_selection + .ratings + .as_ref() + .map_or_else( + || "N/A".to_owned(), + |r| format!("{}%", (r.value * 10.0) as i32), + ) + .default_color(), + ]), + Line::from(vec![ + "Path: ".primary().bold(), + current_selection.path.clone().default_color(), + ]), + Line::from(vec![ + "Quality Profile: ".primary().bold(), + quality_profile.default_color(), + ]), + Line::from(vec![ + "Metadata Profile: ".primary().bold(), + metadata_profile.default_color(), + ]), + Line::from(vec![ + "Monitored: ".primary().bold(), + monitored.default_color(), + ]), + ]; + + if let Some(stats) = current_selection.statistics.as_ref() { + let size = convert_to_gb(stats.size_on_disk); + author_description.extend(vec![ + Line::from(vec![ + "Books: ".primary().bold(), + stats.book_count.to_string().default_color(), + ]), + Line::from(vec![ + "Files: ".primary().bold(), + format!("{}/{}", stats.book_file_count, stats.total_book_count).default_color(), + ]), + Line::from(vec![ + "Size on Disk: ".primary().bold(), + format!("{size:.2} GB").default_color(), + ]), + ]); + } + + let description_paragraph = Paragraph::new(author_description) + .block(borderless_block()) + .wrap(Wrap { trim: true }); + f.render_widget(description_paragraph, area); +} + +fn draw_author_details(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) { + if let Route::Readarr(active_readarr_block, _) = + app.data.readarr_data.author_info_tabs.get_active_route() + { + match active_readarr_block { + ActiveReadarrBlock::AuthorDetails => draw_books_table(f, app, area), + ActiveReadarrBlock::AuthorHistory => draw_author_history_table(f, app, area), + ActiveReadarrBlock::ManualAuthorSearch => draw_author_releases(f, app, area), + _ => (), + } + } +} + +fn draw_books_table(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) { + if let Route::Readarr(active_readarr_block, _) = app.get_current_route() { + let current_selection = if app.data.readarr_data.books.is_empty() { + Book::default() + } else { + app.data.readarr_data.books.current_selection().clone() + }; + let content = Some(&mut app.data.readarr_data.books); + let book_row_mapping = |book: &Book| { + book.title.scroll_left_or_reset( + get_width_from_percentage(area, 38), + *book == current_selection, + app.should_text_scroll, + ); + let monitored = if book.monitored { "๐Ÿท" } else { "" }; + let release_date = book + .release_date + .map_or_else(|| "N/A".to_owned(), |d| d.format("%Y-%m-%d").to_string()); + let book_file_count = book.statistics.as_ref().map_or_else( + || "0/0".to_owned(), + |s| format!("{}/{}", s.book_file_count, s.total_book_count), + ); + let size = book + .statistics + .as_ref() + .map_or(0f64, |s| convert_to_gb(s.size_on_disk)); + + decorate_book_row_with_style( + book, + Row::new(vec![ + Cell::from(monitored.to_owned()), + Cell::from(book.title.to_string()), + Cell::from(book_file_count), + Cell::from(release_date), + Cell::from(format!("{size:.2} GB")), + ]), + ) + }; + + let is_searching = active_readarr_block == ActiveReadarrBlock::SearchBooks; + let book_table = ManagarrTable::new(content, book_row_mapping) + .block(layout_block_top_border()) + .loading(app.is_loading) + .searching(is_searching) + .search_produced_empty_results(active_readarr_block == ActiveReadarrBlock::SearchBooksError) + .headers(["Monitored", "Title", "Files", "Release Date", "Size"]) + .constraints([ + Constraint::Percentage(10), + Constraint::Percentage(40), + Constraint::Percentage(15), + Constraint::Percentage(17), + Constraint::Percentage(18), + ]); + + if is_searching { + book_table.show_cursor(f, area); + } + + f.render_widget(book_table, area); + } +} + +fn decorate_book_row_with_style<'a>(book: &Book, row: Row<'a>) -> Row<'a> { + if !book.monitored { + row.unmonitored() + } else if let Some(stats) = book.statistics.as_ref() { + if stats.book_file_count == stats.total_book_count && stats.total_book_count > 0 { + row.downloaded() + } else if let Some(release_date) = book.release_date.as_ref() { + if release_date > &Utc::now() { + row.unreleased() + } else { + row.missing() + } + } else { + row.missing() + } + } else { + row.indeterminate() + } +} + +fn draw_author_history_table(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) { + if !app.is_loading { + let current_selection = if app.data.readarr_data.author_history.is_empty() { + ReadarrHistoryItem::default() + } else { + app + .data + .readarr_data + .author_history + .current_selection() + .clone() + }; + + if let Route::Readarr(active_readarr_block, _) = app.get_current_route() { + let history_row_mapping = |history_item: &ReadarrHistoryItem| { + let ReadarrHistoryItem { + source_title, + quality, + event_type, + date, + .. + } = history_item; + + source_title.scroll_left_or_reset( + get_width_from_percentage(area, 40), + current_selection == *history_item, + app.should_text_scroll, + ); + + Row::new(vec![ + Cell::from(source_title.to_string()), + Cell::from(event_type.to_string()), + Cell::from(quality.quality.name.to_owned()), + Cell::from(date.to_string()), + ]) + .primary() + }; + let history_table = ManagarrTable::new( + Some(&mut app.data.readarr_data.author_history), + history_row_mapping, + ) + .block(layout_block_top_border()) + .loading(app.is_loading) + .sorting(active_readarr_block == ActiveReadarrBlock::AuthorHistorySortPrompt) + .searching(active_readarr_block == ActiveReadarrBlock::SearchAuthorHistory) + .search_produced_empty_results( + active_readarr_block == ActiveReadarrBlock::SearchAuthorHistoryError, + ) + .filtering(active_readarr_block == ActiveReadarrBlock::FilterAuthorHistory) + .filter_produced_empty_results( + active_readarr_block == ActiveReadarrBlock::FilterAuthorHistoryError, + ) + .headers(["Source Title", "Event Type", "Quality", "Date"]) + .constraints([ + Constraint::Percentage(40), + Constraint::Percentage(20), + Constraint::Percentage(15), + Constraint::Percentage(25), + ]); + + if [ + ActiveReadarrBlock::SearchAuthorHistory, + ActiveReadarrBlock::FilterAuthorHistory, + ] + .contains(&active_readarr_block) + { + history_table.show_cursor(f, area); + } + + f.render_widget(history_table, area); + } + } else { + f.render_widget( + LoadingBlock::new( + app.is_loading || app.data.readarr_data.books.is_empty(), + layout_block_top_border(), + ), + area, + ); + } +} + +fn draw_author_history_item_details_popup(f: &mut Frame<'_>, app: &mut App<'_>) { + let current_selection = if app.data.readarr_data.author_history.is_empty() { + ReadarrHistoryItem::default() + } else { + app + .data + .readarr_data + .author_history + .current_selection() + .clone() + }; + + let line_vec = create_history_event_details(current_selection); + let text = Text::from(line_vec); + + let message = Message::new(text) + .title("Details") + .style(secondary_style()) + .alignment(Alignment::Left); + + f.render_widget(Popup::new(message).size(Size::NarrowLongMessage), f.area()); +} + +fn draw_author_releases(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) { + let (current_selection, is_empty) = if app.data.readarr_data.author_releases.is_empty() { + (ReadarrRelease::default(), true) + } else { + ( + app + .data + .readarr_data + .author_releases + .current_selection() + .clone(), + app.data.readarr_data.author_releases.is_empty(), + ) + }; + + if let Route::Readarr(active_readarr_block, _) = app.get_current_route() { + let release_row_mapping = |release: &ReadarrRelease| { + let ReadarrRelease { + protocol, + age, + title, + indexer, + size, + rejected, + seeders, + leechers, + quality, + .. + } = release; + + let age = format!("{age} days"); + title.scroll_left_or_reset( + get_width_from_percentage(area, 35), + current_selection == *release + && active_readarr_block != ActiveReadarrBlock::ManualAuthorSearchConfirmPrompt, + app.should_text_scroll, + ); + let size = convert_to_gb(*size); + let rejected_str = if *rejected { "โ›”" } else { "" }; + let peers = if seeders.is_none() || leechers.is_none() { + Text::from("") + } else { + let seeders = seeders + .clone() + .unwrap_or(Number::from(0u64)) + .as_u64() + .unwrap_or_default(); + let leechers = leechers + .clone() + .unwrap_or(Number::from(0u64)) + .as_u64() + .unwrap_or_default(); + + decorate_peer_style( + seeders, + leechers, + Text::from(format!("{seeders} / {leechers}")), + ) + }; + + let quality_name = quality.quality.name.clone(); + + Row::new(vec![ + Cell::from(protocol.clone()), + Cell::from(age), + Cell::from(rejected_str), + Cell::from(title.to_string()), + Cell::from(indexer.clone()), + Cell::from(format!("{size:.1} GB")), + Cell::from(peers), + Cell::from(quality_name), + ]) + .primary() + }; + let author_release_table = ManagarrTable::new( + Some(&mut app.data.readarr_data.author_releases), + release_row_mapping, + ) + .block(layout_block_top_border()) + .loading(app.is_loading || is_empty) + .sorting(active_readarr_block == ActiveReadarrBlock::ManualAuthorSearchSortPrompt) + .headers([ + "Source", "Age", "โ›”", "Title", "Indexer", "Size", "Peers", "Quality", + ]) + .constraints([ + Constraint::Length(9), + Constraint::Length(10), + Constraint::Length(5), + Constraint::Percentage(35), + Constraint::Percentage(15), + Constraint::Length(12), + Constraint::Length(12), + Constraint::Percentage(10), + ]); + + f.render_widget(author_release_table, area); + } +} + +fn draw_manual_author_search_confirm_prompt(f: &mut Frame<'_>, app: &mut App<'_>) { + let current_selection = app.data.readarr_data.author_releases.current_selection(); + let title = if current_selection.rejected { + "Download Rejected Release" + } else { + "Download Release" + }; + let prompt = if current_selection.rejected { + format!( + "Do you really want to download the rejected release: {}?", + current_selection.title.text + ) + } else { + format!( + "Do you want to download the release: {}?", + current_selection.title.text + ) + }; + + if current_selection.rejected { + let mut lines_vec = vec![Line::from("Rejection reasons: ".primary().bold())]; + let mut rejections_spans = current_selection + .rejections + .clone() + .unwrap_or_default() + .iter() + .map(|item| Line::from(format!("โ€ข {item}").primary().bold())) + .collect::>>(); + lines_vec.append(&mut rejections_spans); + + let content_paragraph = Paragraph::new(lines_vec) + .block(borderless_block()) + .wrap(Wrap { trim: false }) + .left_aligned(); + let confirmation_prompt = ConfirmationPrompt::new() + .title(title) + .prompt(&prompt) + .content(content_paragraph) + .yes_no_value(app.data.readarr_data.prompt_confirm); + + f.render_widget(Popup::new(confirmation_prompt).size(Size::Small), f.area()); + } else { + let confirmation_prompt = ConfirmationPrompt::new() + .title(title) + .prompt(&prompt) + .yes_no_value(app.data.readarr_data.prompt_confirm); + + f.render_widget( + Popup::new(confirmation_prompt).size(Size::MediumPrompt), + f.area(), + ); + } +} diff --git a/src/ui/readarr_ui/library/author_details_ui_tests.rs b/src/ui/readarr_ui/library/author_details_ui_tests.rs new file mode 100644 index 00000000..7532a510 --- /dev/null +++ b/src/ui/readarr_ui/library/author_details_ui_tests.rs @@ -0,0 +1,299 @@ +#[cfg(test)] +mod tests { + use chrono::{Duration, Utc}; + use pretty_assertions::assert_eq; + use ratatui::widgets::{Cell, Row}; + use strum::IntoEnumIterator; + + use crate::models::readarr_models::{Book, BookStatistics}; + use crate::models::servarr_data::readarr::readarr_data::{ + AUTHOR_DETAILS_BLOCKS, ActiveReadarrBlock, + }; + use crate::ui::DrawUi; + use crate::ui::readarr_ui::library::author_details_ui::{ + AuthorDetailsUi, decorate_book_row_with_style, + }; + use crate::ui::styles::ManagarrStyle; + + #[test] + fn test_author_details_ui_accepts() { + ActiveReadarrBlock::iter().for_each(|active_readarr_block| { + if AUTHOR_DETAILS_BLOCKS.contains(&active_readarr_block) { + assert!(AuthorDetailsUi::accepts(active_readarr_block.into())); + } else { + assert!(!AuthorDetailsUi::accepts(active_readarr_block.into())); + } + }); + } + + #[test] + fn test_decorate_book_row_with_style_unmonitored() { + let book = Book::default(); + let row = Row::new(vec![Cell::from("test".to_owned())]); + + let style = decorate_book_row_with_style(&book, row.clone()); + + assert_eq!(style, row.unmonitored()); + } + + #[test] + fn test_decorate_book_row_with_style_downloaded_when_all_files_present() { + let book = Book { + monitored: true, + statistics: Some(BookStatistics { + book_file_count: 3, + total_book_count: 3, + ..BookStatistics::default() + }), + ..Book::default() + }; + let row = Row::new(vec![Cell::from("test".to_owned())]); + + let style = decorate_book_row_with_style(&book, row.clone()); + + assert_eq!(style, row.downloaded()); + } + + #[test] + fn test_decorate_book_row_with_style_unreleased_when_files_are_missing_and_release_date_is_future() + { + let book = Book { + monitored: true, + release_date: Some(Utc::now() + Duration::days(1)), + statistics: Some(BookStatistics { + book_file_count: 0, + total_book_count: 3, + ..BookStatistics::default() + }), + ..Book::default() + }; + let row = Row::new(vec![Cell::from("test".to_owned())]); + + let style = decorate_book_row_with_style(&book, row.clone()); + + assert_eq!(style, row.unreleased()); + } + + #[test] + fn test_decorate_book_row_with_style_missing_when_files_are_missing_and_release_date_has_passed() + { + let book = Book { + monitored: true, + release_date: Some(Utc::now() - Duration::days(1)), + statistics: Some(BookStatistics { + book_file_count: 1, + total_book_count: 3, + ..BookStatistics::default() + }), + ..Book::default() + }; + let row = Row::new(vec![Cell::from("test".to_owned())]); + + let style = decorate_book_row_with_style(&book, row.clone()); + + assert_eq!(style, row.missing()); + } + + #[test] + fn test_decorate_book_row_with_style_missing_when_files_are_missing_and_no_release_date() { + let book = Book { + monitored: true, + release_date: None, + statistics: Some(BookStatistics { + book_file_count: 1, + total_book_count: 3, + ..BookStatistics::default() + }), + ..Book::default() + }; + let row = Row::new(vec![Cell::from("test".to_owned())]); + + let style = decorate_book_row_with_style(&book, row.clone()); + + assert_eq!(style, row.missing()); + } + + #[test] + fn test_decorate_book_row_with_style_missing_when_total_book_count_is_zero() { + let book = Book { + monitored: true, + release_date: Some(Utc::now() - Duration::days(1)), + statistics: Some(BookStatistics::default()), + ..Book::default() + }; + let row = Row::new(vec![Cell::from("test".to_owned())]); + + let style = decorate_book_row_with_style(&book, row.clone()); + + assert_eq!(style, row.missing()); + } + + #[test] + fn test_decorate_book_row_with_style_indeterminate_when_no_statistics() { + let book = Book { + monitored: true, + statistics: None, + ..Book::default() + }; + let row = Row::new(vec![Cell::from("test".to_owned())]); + + let style = decorate_book_row_with_style(&book, row.clone()); + + assert_eq!(style, row.indeterminate()); + } + + mod snapshot_tests { + use rstest::rstest; + + use crate::app::App; + use crate::models::readarr_models::{AuthorStatistics, BookStatistics}; + use crate::models::servarr_data::readarr::readarr_data::ActiveReadarrBlock; + use crate::models::stateful_table::StatefulTable; + use crate::ui::DrawUi; + use crate::ui::readarr_ui::library::author_details_ui::AuthorDetailsUi; + use crate::ui::ui_test_utils::test_utils::{TerminalSize, render_to_string_with_app}; + + #[rstest] + #[case(ActiveReadarrBlock::AuthorDetails, 0)] + #[case(ActiveReadarrBlock::AuthorHistory, 1)] + #[case(ActiveReadarrBlock::ManualAuthorSearch, 2)] + #[case(ActiveReadarrBlock::SearchBooks, 0)] + #[case(ActiveReadarrBlock::SearchBooksError, 0)] + #[case(ActiveReadarrBlock::UpdateAndScanAuthorPrompt, 0)] + #[case(ActiveReadarrBlock::UpdateAndScanAuthorPrompt, 1)] + #[case(ActiveReadarrBlock::UpdateAndScanAuthorPrompt, 2)] + #[case(ActiveReadarrBlock::AutomaticallySearchAuthorPrompt, 0)] + #[case(ActiveReadarrBlock::AutomaticallySearchAuthorPrompt, 1)] + #[case(ActiveReadarrBlock::AutomaticallySearchAuthorPrompt, 2)] + #[case(ActiveReadarrBlock::SearchAuthorHistory, 1)] + #[case(ActiveReadarrBlock::SearchAuthorHistoryError, 1)] + #[case(ActiveReadarrBlock::FilterAuthorHistory, 1)] + #[case(ActiveReadarrBlock::FilterAuthorHistoryError, 1)] + #[case(ActiveReadarrBlock::AuthorHistorySortPrompt, 1)] + #[case(ActiveReadarrBlock::AuthorHistoryDetails, 1)] + #[case(ActiveReadarrBlock::ManualAuthorSearchConfirmPrompt, 2)] + #[case(ActiveReadarrBlock::ManualAuthorSearchSortPrompt, 2)] + fn test_author_details_ui_renders( + #[case] active_readarr_block: ActiveReadarrBlock, + #[case] index: usize, + ) { + let mut app = App::test_default_fully_populated(); + app.push_navigation_stack(active_readarr_block.into()); + app.data.readarr_data.author_info_tabs.set_index(index); + + let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| { + AuthorDetailsUi::draw(f, app, f.area()); + }); + + insta::assert_snapshot!( + format!("author_details_{active_readarr_block}_{index}"), + output + ); + } + + #[rstest] + #[case(ActiveReadarrBlock::AuthorDetails, 0)] + #[case(ActiveReadarrBlock::AuthorHistory, 1)] + #[case(ActiveReadarrBlock::ManualAuthorSearch, 2)] + fn test_author_details_ui_renders_author_details_loading( + #[case] active_readarr_block: ActiveReadarrBlock, + #[case] index: usize, + ) { + let mut app = App::test_default_fully_populated(); + app.push_navigation_stack(active_readarr_block.into()); + app.data.readarr_data.author_info_tabs.set_index(index); + app.is_loading = true; + + let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| { + AuthorDetailsUi::draw(f, app, f.area()); + }); + + insta::assert_snapshot!( + format!("loading_author_details_{active_readarr_block}"), + output + ); + } + + #[rstest] + #[case(ActiveReadarrBlock::AuthorDetails, 0)] + #[case(ActiveReadarrBlock::AuthorHistory, 1)] + #[case(ActiveReadarrBlock::AuthorHistoryDetails, 1)] + #[case(ActiveReadarrBlock::ManualAuthorSearch, 2)] + fn test_author_details_ui_renders_author_details_empty( + #[case] active_readarr_block: ActiveReadarrBlock, + #[case] index: usize, + ) { + let mut app = App::test_default_fully_populated(); + app.data.readarr_data.books = StatefulTable::default(); + app.data.readarr_data.author_releases = StatefulTable::default(); + app.data.readarr_data.author_history = StatefulTable::default(); + app.push_navigation_stack(active_readarr_block.into()); + app.data.readarr_data.author_info_tabs.set_index(index); + + let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| { + AuthorDetailsUi::draw(f, app, f.area()); + }); + + insta::assert_snapshot!( + format!("empty_author_details_{active_readarr_block}"), + output + ); + } + + #[test] + fn test_author_details_ui_renders_update_and_scan_prompt_over_author_details() { + let mut app = App::test_default_fully_populated(); + app.push_navigation_stack(ActiveReadarrBlock::AuthorDetails.into()); + app.push_navigation_stack(ActiveReadarrBlock::UpdateAndScanAuthorPrompt.into()); + + let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| { + AuthorDetailsUi::draw(f, app, f.area()); + }); + + insta::assert_snapshot!(output); + } + + #[test] + fn test_author_details_ui_renders_automatic_search_prompt_over_author_details() { + let mut app = App::test_default_fully_populated(); + app.push_navigation_stack(ActiveReadarrBlock::AuthorDetails.into()); + app.push_navigation_stack(ActiveReadarrBlock::AutomaticallySearchAuthorPrompt.into()); + + let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| { + AuthorDetailsUi::draw(f, app, f.area()); + }); + + insta::assert_snapshot!(output); + } + + #[test] + fn test_author_details_ui_renders_statistics() { + let mut app = App::test_default_fully_populated(); + let mut author = app.data.readarr_data.authors.current_selection().clone(); + author.statistics = Some(AuthorStatistics { + book_count: 3, + book_file_count: 2, + total_book_count: 3, + available_book_count: 2, + size_on_disk: 3543348019, + percent_of_books: 66.6, + }); + app.data.readarr_data.authors.set_items(vec![author]); + let mut book = app.data.readarr_data.books.current_selection().clone(); + book.statistics = Some(BookStatistics { + book_file_count: 1, + total_book_count: 1, + size_on_disk: 1771674009, + percent_of_books: 100.0, + }); + app.data.readarr_data.books.set_items(vec![book]); + app.push_navigation_stack(ActiveReadarrBlock::AuthorDetails.into()); + + let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| { + AuthorDetailsUi::draw(f, app, f.area()); + }); + + insta::assert_snapshot!(output); + } + } +} diff --git a/src/ui/readarr_ui/library/library_ui_tests.rs b/src/ui/readarr_ui/library/library_ui_tests.rs index 65f7e839..3714711e 100644 --- a/src/ui/readarr_ui/library/library_ui_tests.rs +++ b/src/ui/readarr_ui/library/library_ui_tests.rs @@ -3,7 +3,9 @@ mod tests { use strum::IntoEnumIterator; use crate::models::readarr_models::{Author, AuthorStatistics, AuthorStatus}; - use crate::models::servarr_data::readarr::readarr_data::{ActiveReadarrBlock, LIBRARY_BLOCKS}; + use crate::models::servarr_data::readarr::readarr_data::{ + AUTHOR_DETAILS_BLOCKS, ActiveReadarrBlock, LIBRARY_BLOCKS, + }; use crate::ui::DrawUi; use crate::ui::readarr_ui::library::{LibraryUi, decorate_author_row_with_style}; use crate::ui::styles::ManagarrStyle; @@ -12,8 +14,11 @@ mod tests { #[test] fn test_library_ui_accepts() { + let mut blocks = LIBRARY_BLOCKS.to_vec(); + blocks.extend(AUTHOR_DETAILS_BLOCKS); + for active_readarr_block in ActiveReadarrBlock::iter() { - if LIBRARY_BLOCKS.contains(&active_readarr_block) { + if blocks.contains(&active_readarr_block) { assert!( LibraryUi::accepts(active_readarr_block.into()), "{active_readarr_block} is not accepted by the LibraryUi" @@ -231,5 +236,18 @@ mod tests { insta::assert_snapshot!(output); } + + #[test] + fn test_library_ui_renders_author_details_over_library() { + let mut app = App::test_default_fully_populated(); + app.push_navigation_stack(ActiveReadarrBlock::Authors.into()); + app.push_navigation_stack(ActiveReadarrBlock::AuthorDetails.into()); + + let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| { + LibraryUi::draw(f, app, f.area()); + }); + + insta::assert_snapshot!(output); + } } } diff --git a/src/ui/readarr_ui/library/mod.rs b/src/ui/readarr_ui/library/mod.rs index 1e1730f4..ef0798dd 100644 --- a/src/ui/readarr_ui/library/mod.rs +++ b/src/ui/readarr_ui/library/mod.rs @@ -1,3 +1,4 @@ +use author_details_ui::AuthorDetailsUi; use ratatui::{ Frame, layout::{Constraint, Rect}, @@ -20,6 +21,8 @@ use crate::{ }, }; +mod author_details_ui; + #[cfg(test)] #[path = "library_ui_tests.rs"] mod library_ui_tests; @@ -29,14 +32,20 @@ pub(super) struct LibraryUi; impl DrawUi for LibraryUi { fn accepts(route: Route) -> bool { if let Route::Readarr(active_readarr_block, _) = route { - return LIBRARY_BLOCKS.contains(&active_readarr_block); + return AuthorDetailsUi::accepts(route) || LIBRARY_BLOCKS.contains(&active_readarr_block); } false } fn draw(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) { + let route = app.get_current_route(); draw_library(f, app, area); + + match route { + _ if AuthorDetailsUi::accepts(route) => AuthorDetailsUi::draw(f, app, area), + _ => (), + } } } diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorDetails_0.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorDetails_0.snap new file mode 100644 index 00000000..4b6e0d8a --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorDetails_0.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Monitored Title Files Release Date Size โ”‚โ”‚ + โ”‚โ”‚=> ๐Ÿท Test Book 0/0 2023-05-20 0.00 GB โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorHistoryDetails_1.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorHistoryDetails_1.snap new file mode 100644 index 00000000..2f5a2119 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorHistoryDetails_1.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Searcโ”‚Source Title: Test Source Title โ”‚ โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚Event Type: grabbed โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source Title โ–ผ โ”‚Quality: EPUB โ”‚ โ”‚โ”‚ + โ”‚โ”‚=> Test Source Title โ”‚Date: 2023-05-20 21:29:16 UTC โ”‚-05-20 21:29:16 UTC โ”‚โ”‚ + โ”‚โ”‚ โ”‚Indexer: โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚NZB Info URL: โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚Release Group: โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚Age: 0 days โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚Published Date: 1970-01-01 00:00:00 UTC โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚Download Client: โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorHistorySortPrompt_1.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorHistorySortPrompt_1.snap new file mode 100644 index 00000000..49abd4b8 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorHistorySortPrompt_1.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source Title Event Type Quality Date โ”‚โ”‚ + โ”‚โ”‚=> Test Source Title grabbed EPUB 2023-05-20 21:29:16 UTC โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚โ”‚ + โ”‚โ”‚ โ”‚Something โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorHistory_1.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorHistory_1.snap new file mode 100644 index 00000000..4d105d17 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AuthorHistory_1.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source Title โ–ผ Event Type Quality Date โ”‚โ”‚ + โ”‚โ”‚=> Test Source Title grabbed EPUB 2023-05-20 21:29:16 UTC โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AutomaticallySearchAuthorPrompt_0.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AutomaticallySearchAuthorPrompt_0.snap new file mode 100644 index 00000000..6e9a1615 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AutomaticallySearchAuthorPrompt_0.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Automatic Author Search โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚Do you want to trigger an automatic search of your indexersโ”‚ โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ for all monitored book(s) for the author: Test Author? โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Monitored Title โ”‚ โ”‚Date Size โ”‚โ”‚ + โ”‚โ”‚=> ๐Ÿท Test Book โ”‚ โ”‚20 0.00 GB โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ Yes โ”‚โ”‚ No โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AutomaticallySearchAuthorPrompt_1.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AutomaticallySearchAuthorPrompt_1.snap new file mode 100644 index 00000000..a8436012 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AutomaticallySearchAuthorPrompt_1.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Automatic Author Search โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚Do you want to trigger an automatic search of your indexersโ”‚ โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ for all monitored book(s) for the author: Test Author? โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source Title โ–ผ โ”‚ โ”‚ Date โ”‚โ”‚ + โ”‚โ”‚=> Test Source Title โ”‚ โ”‚ 2023-05-20 21:29:16 UTC โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ Yes โ”‚โ”‚ No โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AutomaticallySearchAuthorPrompt_2.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AutomaticallySearchAuthorPrompt_2.snap new file mode 100644 index 00000000..5c5c8b4d --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_AutomaticallySearchAuthorPrompt_2.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Automatic Author Search โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚Do you want to trigger an automatic search of your indexersโ”‚ โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ for all monitored book(s) for the author: Test Author? โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source โ–ผ Age โ›” Title โ”‚ โ”‚ Size Peers Quality โ”‚โ”‚ + โ”‚โ”‚=> torrent 1 days โ›” Test Torrenโ”‚ โ”‚ 0.0 GB 2 / 1 EPUB โ”‚โ”‚ + โ”‚โ”‚ usenet 1 days โ›” Test Usenetโ”‚ โ”‚ 0.0 GB EPUB โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ Yes โ”‚โ”‚ No โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_FilterAuthorHistoryError_1.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_FilterAuthorHistoryError_1.snap new file mode 100644 index 00000000..182f53b7 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_FilterAuthorHistoryError_1.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source Title โ–ผ Event Type Quality Date โ”‚โ”‚ + โ”‚โ”‚=> Test Source Title grabbed EPUB 2023-05-20 21:29:16 UTC โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Error โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ The given filter produced empty โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_FilterAuthorHistory_1.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_FilterAuthorHistory_1.snap new file mode 100644 index 00000000..dea5d6cf --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_FilterAuthorHistory_1.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source Title โ–ผ Event Type Quality Date โ”‚โ”‚ + โ”‚โ”‚=> Test Source Title grabbed EPUB 2023-05-20 21:29:16 UTC โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Filter โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚โ”‚ + โ”‚โ”‚ โ”‚author history filter โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ManualAuthorSearchConfirmPrompt_2.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ManualAuthorSearchConfirmPrompt_2.snap new file mode 100644 index 00000000..8b0627a4 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ManualAuthorSearchConfirmPrompt_2.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Download Rejected Release โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ Do you really want to download the rejected release: Test โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚ Torrent Release? โ”‚ โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source โ–ผ Age โ›” Title โ”‚ โ”‚e Peers Quality โ”‚โ”‚ + โ”‚โ”‚=> torrent 1 days โ›” Test Torreโ”‚Rejection reasons: โ”‚ GB 2 / 1 EPUB โ”‚โ”‚ + โ”‚โ”‚ usenet 1 days โ›” Test Useneโ”‚โ€ข Unknown quality profile โ”‚ GB EPUB โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ Yes โ”‚โ”‚ No โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ManualAuthorSearchSortPrompt_2.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ManualAuthorSearchSortPrompt_2.snap new file mode 100644 index 00000000..f2a03272 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ManualAuthorSearchSortPrompt_2.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source Age โ›” Title Indexer Size Peers Quality โ”‚โ”‚ + โ”‚โ”‚=> torrent 1 days โ›” Test Torrent Release kickass torrents 0.0 GB 2 / 1 EPUB โ”‚โ”‚ + โ”‚โ”‚ usenet 1 days โ›” Test Usenet Release DrunkenSlug 0.0 GB EPUB โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚โ”‚ + โ”‚โ”‚ โ”‚Something โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ManualAuthorSearch_2.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ManualAuthorSearch_2.snap new file mode 100644 index 00000000..2f8dacfc --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ManualAuthorSearch_2.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source โ–ผ Age โ›” Title Indexer Size Peers Quality โ”‚โ”‚ + โ”‚โ”‚=> torrent 1 days โ›” Test Torrent Release kickass torrents 0.0 GB 2 / 1 EPUB โ”‚โ”‚ + โ”‚โ”‚ usenet 1 days โ›” Test Usenet Release DrunkenSlug 0.0 GB EPUB โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchAuthorHistoryError_1.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchAuthorHistoryError_1.snap new file mode 100644 index 00000000..511ff704 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchAuthorHistoryError_1.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source Title โ–ผ Event Type Quality Date โ”‚โ”‚ + โ”‚โ”‚=> Test Source Title grabbed EPUB 2023-05-20 21:29:16 UTC โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Error โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ No items found matching search โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchAuthorHistory_1.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchAuthorHistory_1.snap new file mode 100644 index 00000000..74c8b861 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchAuthorHistory_1.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source Title โ–ผ Event Type Quality Date โ”‚โ”‚ + โ”‚โ”‚=> Test Source Title grabbed EPUB 2023-05-20 21:29:16 UTC โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Search โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚โ”‚ + โ”‚โ”‚ โ”‚author history search โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchBooksError_0.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchBooksError_0.snap new file mode 100644 index 00000000..6d8acb06 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchBooksError_0.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Monitored Title Files Release Date Size โ”‚โ”‚ + โ”‚โ”‚=> ๐Ÿท Test Book 0/0 2023-05-20 0.00 GB โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Error โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ No items found matching search โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchBooks_0.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchBooks_0.snap new file mode 100644 index 00000000..66bac5cf --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_SearchBooks_0.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Monitored Title Files Release Date Size โ”‚โ”‚ + โ”‚โ”‚=> ๐Ÿท Test Book 0/0 2023-05-20 0.00 GB โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Search โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚โ”‚ + โ”‚โ”‚ โ”‚book search โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_UpdateAndScanAuthorPrompt_0.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_UpdateAndScanAuthorPrompt_0.snap new file mode 100644 index 00000000..0c349acf --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_UpdateAndScanAuthorPrompt_0.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Update and Scan โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚ Do you want to trigger an update and disk scan for the โ”‚ โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ author: Test Author? โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Monitored Title โ”‚ โ”‚Date Size โ”‚โ”‚ + โ”‚โ”‚=> ๐Ÿท Test Book โ”‚ โ”‚20 0.00 GB โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ Yes โ”‚โ”‚ No โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_UpdateAndScanAuthorPrompt_1.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_UpdateAndScanAuthorPrompt_1.snap new file mode 100644 index 00000000..85ec2084 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_UpdateAndScanAuthorPrompt_1.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Update and Scan โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚ Do you want to trigger an update and disk scan for the โ”‚ โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ author: Test Author? โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source Title โ–ผ โ”‚ โ”‚ Date โ”‚โ”‚ + โ”‚โ”‚=> Test Source Title โ”‚ โ”‚ 2023-05-20 21:29:16 UTC โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ Yes โ”‚โ”‚ No โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_UpdateAndScanAuthorPrompt_2.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_UpdateAndScanAuthorPrompt_2.snap new file mode 100644 index 00000000..6cb37307 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_UpdateAndScanAuthorPrompt_2.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Update and Scan โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚ Do you want to trigger an update and disk scan for the โ”‚ โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ author: Test Author? โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Source โ–ผ Age โ›” Title โ”‚ โ”‚ Size Peers Quality โ”‚โ”‚ + โ”‚โ”‚=> torrent 1 days โ›” Test Torrenโ”‚ โ”‚ 0.0 GB 2 / 1 EPUB โ”‚โ”‚ + โ”‚โ”‚ usenet 1 days โ›” Test Usenetโ”‚ โ”‚ 0.0 GB EPUB โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ Yes โ”‚โ”‚ No โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ui_renders_automatic_search_prompt_over_author_details.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ui_renders_automatic_search_prompt_over_author_details.snap new file mode 100644 index 00000000..6e9a1615 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ui_renders_automatic_search_prompt_over_author_details.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Automatic Author Search โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚Do you want to trigger an automatic search of your indexersโ”‚ โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ for all monitored book(s) for the author: Test Author? โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Monitored Title โ”‚ โ”‚Date Size โ”‚โ”‚ + โ”‚โ”‚=> ๐Ÿท Test Book โ”‚ โ”‚20 0.00 GB โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ Yes โ”‚โ”‚ No โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ui_renders_statistics.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ui_renders_statistics.snap new file mode 100644 index 00000000..ac285c3a --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ui_renders_statistics.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚Books: 3 โ”‚ + โ”‚Files: 2/3 โ”‚ + โ”‚Size on Disk: 3.30 GB โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Monitored Title Files Release Date Size โ”‚โ”‚ + โ”‚โ”‚=> ๐Ÿท Test Book 1/1 2023-05-20 1.65 GB โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ui_renders_update_and_scan_prompt_over_author_details.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ui_renders_update_and_scan_prompt_over_author_details.snap new file mode 100644 index 00000000..0c349acf --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__author_details_ui_renders_update_and_scan_prompt_over_author_details.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Update and Scan โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚ Do you want to trigger an update and disk scan for the โ”‚ โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ author: Test Author? โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Monitored Title โ”‚ โ”‚Date Size โ”‚โ”‚ + โ”‚โ”‚=> ๐Ÿท Test Book โ”‚ โ”‚20 0.00 GB โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ Yes โ”‚โ”‚ No โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_AuthorDetails.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_AuthorDetails.snap new file mode 100644 index 00000000..96083953 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_AuthorDetails.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_AuthorHistory.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_AuthorHistory.snap new file mode 100644 index 00000000..96083953 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_AuthorHistory.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_AuthorHistoryDetails.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_AuthorHistoryDetails.snap new file mode 100644 index 00000000..a4cfb206 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_AuthorHistoryDetails.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Searcโ”‚Source Title: โ”‚ โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚Event Type: unknown โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ โ”‚Quality: โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚Date: 1970-01-01 00:00:00 UTC โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚No additional details available. โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚ โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_ManualAuthorSearch.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_ManualAuthorSearch.snap new file mode 100644 index 00000000..5c0ea0b1 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__empty_author_details_ManualAuthorSearch.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ Loading ... โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__loading_author_details_AuthorDetails.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__loading_author_details_AuthorDetails.snap new file mode 100644 index 00000000..5c0ea0b1 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__loading_author_details_AuthorDetails.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ Loading ... โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__loading_author_details_AuthorHistory.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__loading_author_details_AuthorHistory.snap new file mode 100644 index 00000000..5c0ea0b1 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__loading_author_details_AuthorHistory.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ Loading ... โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__loading_author_details_ManualAuthorSearch.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__loading_author_details_ManualAuthorSearch.snap new file mode 100644 index 00000000..5c0ea0b1 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__author_details_ui__author_details_ui_tests__tests__snapshot_tests__loading_author_details_ManualAuthorSearch.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/author_details_ui_tests.rs +expression: output +--- + + + + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ Loading ... โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__library_ui_tests__tests__snapshot_tests__library_ui_renders_author_details_over_library.snap b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__library_ui_tests__tests__snapshot_tests__library_ui_renders_author_details_over_library.snap new file mode 100644 index 00000000..d7757101 --- /dev/null +++ b/src/ui/readarr_ui/library/snapshots/managarr__ui__readarr_ui__library__library_ui_tests__tests__snapshot_tests__library_ui_renders_author_details_over_library.snap @@ -0,0 +1,52 @@ +--- +source: src/ui/readarr_ui/library/library_ui_tests.rs +expression: output +--- +โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + Name โ–ผ Type Status Quality Profile Metadata Profile Books Size Monitored Tags +=> Test Author Continuing Standard Standard 0 0.00 GB ๐Ÿท alex + โ•ญ Test Author โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ + โ”‚Author: Test Author โ”‚ + โ”‚Overview: some interesting description of the author โ”‚ + โ”‚Status: Continuing โ”‚ + โ”‚Genres: science fiction โ”‚ + โ”‚Rating: N/A โ”‚ + โ”‚Path: /nfs/books/Test Author โ”‚ + โ”‚Quality Profile: Standard โ”‚ + โ”‚Metadata Profile: Standard โ”‚ + โ”‚Monitored: Yes โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚ โ”‚ + โ”‚โ•ญ Author Details โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ”‚ + โ”‚โ”‚ Books โ”‚ History โ”‚ Author Search โ”‚โ”‚ + โ”‚โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”‚ + โ”‚โ”‚ Monitored Title Files Release Date Size โ”‚โ”‚ + โ”‚โ”‚=> ๐Ÿท Test Book 0/0 2023-05-20 0.00 GB โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ”‚ โ”‚โ”‚ + โ”‚โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ”‚ + โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ diff --git a/src/ui/readarr_ui/mod.rs b/src/ui/readarr_ui/mod.rs index 643b9cce..063f50f3 100644 --- a/src/ui/readarr_ui/mod.rs +++ b/src/ui/readarr_ui/mod.rs @@ -35,6 +35,7 @@ use crate::{ }; mod library; +mod readarr_ui_utils; #[cfg(test)] #[path = "readarr_ui_tests.rs"] diff --git a/src/ui/readarr_ui/readarr_ui_utils.rs b/src/ui/readarr_ui/readarr_ui_utils.rs new file mode 100644 index 00000000..4d3e3ad4 --- /dev/null +++ b/src/ui/readarr_ui/readarr_ui_utils.rs @@ -0,0 +1,164 @@ +use crate::models::readarr_models::{ + ReadarrHistoryData, ReadarrHistoryEventType, ReadarrHistoryItem, +}; +use ratatui::text::Line; + +#[cfg(test)] +#[path = "readarr_ui_utils_tests.rs"] +mod readarr_ui_utils_tests; + +pub(super) fn create_history_event_details(history_item: ReadarrHistoryItem) -> Vec> { + let ReadarrHistoryItem { + source_title, + event_type, + quality, + date, + data, + .. + } = history_item; + let ReadarrHistoryData { + indexer, + nzb_info_url, + release_group, + age, + published_date, + download_client_name, + download_client, + message, + reason, + dropped_path, + imported_path, + source_path, + path, + status_messages, + } = data; + + let mut lines = vec![ + Line::from(format!("Source Title: {}", source_title.text.trim_start())), + Line::from(format!("Event Type: {event_type}")), + Line::from(format!("Quality: {}", quality.quality.name.trim_start())), + Line::from(format!("Date: {date}")), + ]; + + match event_type { + ReadarrHistoryEventType::Grabbed => { + lines.push(Line::from(format!( + "Indexer: {}", + indexer.unwrap_or_default().trim_start() + ))); + lines.push(Line::from(format!( + "NZB Info URL: {}", + nzb_info_url.unwrap_or_default().trim_start() + ))); + lines.push(Line::from(format!( + "Release Group: {}", + release_group.unwrap_or_default().trim_start() + ))); + lines.push(Line::from(format!( + "Age: {} days", + age.unwrap_or("0".to_owned()).trim_start() + ))); + lines.push(Line::from(format!( + "Published Date: {}", + published_date.unwrap_or_default() + ))); + lines.push(Line::from(format!( + "Download Client: {}", + download_client_name + .unwrap_or(download_client.unwrap_or_default()) + .trim_start() + ))); + } + ReadarrHistoryEventType::DownloadImported => { + lines.push(Line::from(format!( + "Release Group: {}", + release_group.unwrap_or_default().trim_start() + ))); + } + ReadarrHistoryEventType::DownloadFailed => { + lines.push(Line::from(format!( + "Download Client: {}", + download_client_name + .unwrap_or(download_client.unwrap_or_default()) + .trim_start() + ))); + lines.push(Line::from(format!( + "Message: {}", + message.unwrap_or_default().trim_start() + ))); + lines.push(Line::from(format!( + "Release Group: {}", + release_group.unwrap_or_default().trim_start() + ))); + lines.push(Line::from(format!( + "Indexer: {}", + indexer.unwrap_or_default().trim_start() + ))); + } + ReadarrHistoryEventType::BookFileDeleted => { + lines.push(Line::from(format!( + "Reason: {}", + reason.unwrap_or_default().trim_start() + ))); + lines.push(Line::from(format!( + "Release Group: {}", + release_group.unwrap_or_default().trim_start() + ))); + } + ReadarrHistoryEventType::BookFileImported => { + lines.push(Line::from(format!( + "Dropped Path: {}", + dropped_path.unwrap_or_default().trim_start() + ))); + lines.push(Line::from(format!( + "Imported Path: {}", + imported_path.unwrap_or_default().trim_start() + ))); + lines.push(Line::from(format!( + "Download Client: {}", + download_client_name + .unwrap_or(download_client.unwrap_or_default()) + .trim_start() + ))); + lines.push(Line::from(format!( + "Release Group: {}", + release_group.unwrap_or_default().trim_start() + ))); + } + ReadarrHistoryEventType::BookFileRenamed => { + lines.push(Line::from(format!( + "Source Path: {}", + source_path.unwrap_or_default().trim_start() + ))); + lines.push(Line::from(format!( + "Path: {}", + path.unwrap_or_default().trim_start() + ))); + lines.push(Line::from(format!( + "Release Group: {}", + release_group.unwrap_or_default().trim_start() + ))); + } + ReadarrHistoryEventType::BookFileRetagged => { + lines.push(Line::from(format!( + "Release Group: {}", + release_group.unwrap_or_default().trim_start() + ))); + } + ReadarrHistoryEventType::BookImportIncomplete => { + lines.push(Line::from(format!( + "Status Messages: {}", + status_messages.unwrap_or_default().trim_start() + ))); + lines.push(Line::from(format!( + "Release Group: {}", + release_group.unwrap_or_default().trim_start() + ))); + } + _ => { + lines.push(Line::from("No additional details available.".to_owned())); + } + } + + lines +} diff --git a/src/ui/readarr_ui/readarr_ui_utils_tests.rs b/src/ui/readarr_ui/readarr_ui_utils_tests.rs new file mode 100644 index 00000000..1b4fd3f9 --- /dev/null +++ b/src/ui/readarr_ui/readarr_ui_utils_tests.rs @@ -0,0 +1,477 @@ +#[cfg(test)] +mod tests { + use chrono::Utc; + use pretty_assertions::assert_eq; + use ratatui::text::Line; + + use crate::models::readarr_models::{ + ReadarrHistoryData, ReadarrHistoryEventType, ReadarrHistoryItem, + }; + use crate::models::servarr_models::{Quality, QualityWrapper}; + use crate::ui::readarr_ui::readarr_ui_utils::create_history_event_details; + + #[test] + fn test_create_history_event_details_grabbed() { + let history_item = readarr_history_item(ReadarrHistoryEventType::Grabbed); + let ReadarrHistoryItem { + source_title, + event_type, + quality, + date, + data, + .. + } = history_item.clone(); + + let result = create_history_event_details(history_item); + + assert_eq!( + result[0], + Line::from(format!("Source Title: {}", source_title.text.trim_start())) + ); + assert_eq!(result[1], Line::from(format!("Event Type: {event_type}"))); + assert_eq!( + result[2], + Line::from(format!("Quality: {}", quality.quality.name.trim_start())) + ); + assert_eq!(result[3], Line::from(format!("Date: {date}"))); + assert_eq!( + result[4], + Line::from(format!("Indexer: {}", data.indexer.unwrap().trim_start())) + ); + assert_eq!( + result[5], + Line::from(format!( + "NZB Info URL: {}", + data.nzb_info_url.unwrap().trim_start() + )) + ); + assert_eq!( + result[6], + Line::from(format!( + "Release Group: {}", + data.release_group.unwrap().trim_start() + )) + ); + assert_eq!( + result[7], + Line::from(format!("Age: {} days", data.age.unwrap().trim_start())) + ); + assert_eq!( + result[8], + Line::from(format!("Published Date: {}", data.published_date.unwrap())) + ); + assert_eq!( + result[9], + Line::from(format!( + "Download Client: {}", + data.download_client_name.unwrap().trim_start() + )) + ); + assert_eq!(result.len(), 10); + } + + #[test] + fn test_create_history_event_details_grabbed_uses_download_client_as_fallback() { + let mut history_item = readarr_history_item(ReadarrHistoryEventType::Grabbed); + history_item.data.download_client_name = None; + history_item.data.download_client = Some("\nFallback Client".to_owned()); + + let result = create_history_event_details(history_item); + + assert_eq!(result[9], Line::from("Download Client: Fallback Client")); + } + + #[test] + fn test_create_history_event_details_download_imported() { + let history_item = readarr_history_item(ReadarrHistoryEventType::DownloadImported); + let ReadarrHistoryItem { + source_title, + event_type, + quality, + date, + data, + .. + } = history_item.clone(); + + let result = create_history_event_details(history_item); + + assert_eq!( + result[0], + Line::from(format!("Source Title: {}", source_title.text.trim_start())) + ); + assert_eq!(result[1], Line::from(format!("Event Type: {event_type}"))); + assert_eq!( + result[2], + Line::from(format!("Quality: {}", quality.quality.name.trim_start())) + ); + assert_eq!(result[3], Line::from(format!("Date: {date}"))); + assert_eq!( + result[4], + Line::from(format!( + "Release Group: {}", + data.release_group.unwrap().trim_start() + )) + ); + assert_eq!(result.len(), 5); + } + + #[test] + fn test_create_history_event_details_download_failed() { + let history_item = readarr_history_item(ReadarrHistoryEventType::DownloadFailed); + let ReadarrHistoryItem { + source_title, + event_type, + quality, + date, + data, + .. + } = history_item.clone(); + + let result = create_history_event_details(history_item); + + assert_eq!( + result[0], + Line::from(format!("Source Title: {}", source_title.text.trim_start())) + ); + assert_eq!(result[1], Line::from(format!("Event Type: {event_type}"))); + assert_eq!( + result[2], + Line::from(format!("Quality: {}", quality.quality.name.trim_start())) + ); + assert_eq!(result[3], Line::from(format!("Date: {date}"))); + assert_eq!( + result[4], + Line::from(format!( + "Download Client: {}", + data.download_client_name.unwrap().trim_start() + )) + ); + assert_eq!( + result[5], + Line::from(format!("Message: {}", data.message.unwrap().trim_start())) + ); + assert_eq!( + result[6], + Line::from(format!( + "Release Group: {}", + data.release_group.unwrap().trim_start() + )) + ); + assert_eq!( + result[7], + Line::from(format!("Indexer: {}", data.indexer.unwrap().trim_start())) + ); + assert_eq!(result.len(), 8); + } + + #[test] + fn test_create_history_event_details_book_file_deleted() { + let history_item = readarr_history_item(ReadarrHistoryEventType::BookFileDeleted); + let ReadarrHistoryItem { + source_title, + event_type, + quality, + date, + data, + .. + } = history_item.clone(); + + let result = create_history_event_details(history_item); + + assert_eq!( + result[0], + Line::from(format!("Source Title: {}", source_title.text.trim_start())) + ); + assert_eq!(result[1], Line::from(format!("Event Type: {event_type}"))); + assert_eq!( + result[2], + Line::from(format!("Quality: {}", quality.quality.name.trim_start())) + ); + assert_eq!(result[3], Line::from(format!("Date: {date}"))); + assert_eq!( + result[4], + Line::from(format!("Reason: {}", data.reason.unwrap().trim_start())) + ); + assert_eq!( + result[5], + Line::from(format!( + "Release Group: {}", + data.release_group.unwrap().trim_start() + )) + ); + assert_eq!(result.len(), 6); + } + + #[test] + fn test_create_history_event_details_book_file_imported() { + let history_item = readarr_history_item(ReadarrHistoryEventType::BookFileImported); + let ReadarrHistoryItem { + source_title, + event_type, + quality, + date, + data, + .. + } = history_item.clone(); + + let result = create_history_event_details(history_item); + + assert_eq!( + result[0], + Line::from(format!("Source Title: {}", source_title.text.trim_start())) + ); + assert_eq!(result[1], Line::from(format!("Event Type: {event_type}"))); + assert_eq!( + result[2], + Line::from(format!("Quality: {}", quality.quality.name.trim_start())) + ); + assert_eq!(result[3], Line::from(format!("Date: {date}"))); + assert_eq!( + result[4], + Line::from(format!( + "Dropped Path: {}", + data.dropped_path.unwrap().trim_start() + )) + ); + assert_eq!( + result[5], + Line::from(format!( + "Imported Path: {}", + data.imported_path.unwrap().trim_start() + )) + ); + assert_eq!( + result[6], + Line::from(format!( + "Download Client: {}", + data.download_client_name.unwrap().trim_start() + )) + ); + assert_eq!( + result[7], + Line::from(format!( + "Release Group: {}", + data.release_group.unwrap().trim_start() + )) + ); + assert_eq!(result.len(), 8); + } + + #[test] + fn test_create_history_event_details_book_file_renamed() { + let history_item = readarr_history_item(ReadarrHistoryEventType::BookFileRenamed); + let ReadarrHistoryItem { + source_title, + event_type, + quality, + date, + data, + .. + } = history_item.clone(); + + let result = create_history_event_details(history_item); + + assert_eq!( + result[0], + Line::from(format!("Source Title: {}", source_title.text.trim_start())) + ); + assert_eq!(result[1], Line::from(format!("Event Type: {event_type}"))); + assert_eq!( + result[2], + Line::from(format!("Quality: {}", quality.quality.name.trim_start())) + ); + assert_eq!(result[3], Line::from(format!("Date: {date}"))); + assert_eq!( + result[4], + Line::from(format!( + "Source Path: {}", + data.source_path.unwrap().trim_start() + )) + ); + assert_eq!( + result[5], + Line::from(format!("Path: {}", data.path.unwrap().trim_start())) + ); + assert_eq!( + result[6], + Line::from(format!( + "Release Group: {}", + data.release_group.unwrap().trim_start() + )) + ); + assert_eq!(result.len(), 7); + } + + #[test] + fn test_create_history_event_details_book_file_retagged() { + let history_item = readarr_history_item(ReadarrHistoryEventType::BookFileRetagged); + let ReadarrHistoryItem { + source_title, + event_type, + quality, + date, + data, + .. + } = history_item.clone(); + + let result = create_history_event_details(history_item); + + assert_eq!( + result[0], + Line::from(format!("Source Title: {}", source_title.text.trim_start())) + ); + assert_eq!(result[1], Line::from(format!("Event Type: {event_type}"))); + assert_eq!( + result[2], + Line::from(format!("Quality: {}", quality.quality.name.trim_start())) + ); + assert_eq!(result[3], Line::from(format!("Date: {date}"))); + assert_eq!( + result[4], + Line::from(format!( + "Release Group: {}", + data.release_group.unwrap().trim_start() + )) + ); + assert_eq!(result.len(), 5); + } + + #[test] + fn test_create_history_event_details_book_import_incomplete() { + let history_item = readarr_history_item(ReadarrHistoryEventType::BookImportIncomplete); + let ReadarrHistoryItem { + source_title, + event_type, + quality, + date, + data, + .. + } = history_item.clone(); + + let result = create_history_event_details(history_item); + + assert_eq!( + result[0], + Line::from(format!("Source Title: {}", source_title.text.trim_start())) + ); + assert_eq!(result[1], Line::from(format!("Event Type: {event_type}"))); + assert_eq!( + result[2], + Line::from(format!("Quality: {}", quality.quality.name.trim_start())) + ); + assert_eq!(result[3], Line::from(format!("Date: {date}"))); + assert_eq!( + result[4], + Line::from(format!( + "Status Messages: {}", + data.status_messages.unwrap().trim_start() + )) + ); + assert_eq!( + result[5], + Line::from(format!( + "Release Group: {}", + data.release_group.unwrap().trim_start() + )) + ); + assert_eq!(result.len(), 6); + } + + #[test] + fn test_create_history_event_details_unknown() { + let history_item = readarr_history_item(ReadarrHistoryEventType::Unknown); + let ReadarrHistoryItem { + source_title, + event_type, + quality, + date, + .. + } = history_item.clone(); + + let result = create_history_event_details(history_item); + + assert_eq!( + result[0], + Line::from(format!("Source Title: {}", source_title.text.trim_start())) + ); + assert_eq!(result[1], Line::from(format!("Event Type: {event_type}"))); + assert_eq!( + result[2], + Line::from(format!("Quality: {}", quality.quality.name.trim_start())) + ); + assert_eq!(result[3], Line::from(format!("Date: {date}"))); + assert_eq!(result[4], Line::from("No additional details available.")); + assert_eq!(result.len(), 5); + } + + #[test] + fn test_create_history_event_details_author_folder_imported_has_no_additional_details() { + let history_item = readarr_history_item(ReadarrHistoryEventType::AuthorFolderImported); + + let result = create_history_event_details(history_item); + + assert_eq!(result[4], Line::from("No additional details available.")); + assert_eq!(result.len(), 5); + } + + #[test] + fn test_create_history_event_details_download_ignored_has_no_additional_details() { + let history_item = readarr_history_item(ReadarrHistoryEventType::DownloadIgnored); + + let result = create_history_event_details(history_item); + + assert_eq!(result[4], Line::from("No additional details available.")); + assert_eq!(result.len(), 5); + } + + #[test] + fn test_create_history_event_details_with_empty_optional_fields() { + let mut history_item = readarr_history_item(ReadarrHistoryEventType::Grabbed); + history_item.data = ReadarrHistoryData::default(); + + let result = create_history_event_details(history_item); + + assert_eq!(result[4], Line::from("Indexer: ")); + assert_eq!(result[5], Line::from("NZB Info URL: ")); + assert_eq!(result[6], Line::from("Release Group: ")); + assert_eq!(result[7], Line::from("Age: 0 days")); + assert!(result[8].to_string().starts_with("Published Date:")); + assert_eq!(result[9], Line::from("Download Client: ")); + } + + fn readarr_history_item(event_type: ReadarrHistoryEventType) -> ReadarrHistoryItem { + ReadarrHistoryItem { + id: 1, + source_title: "\nTest Book - Author Name".into(), + author_id: 10, + book_id: 100, + event_type, + quality: QualityWrapper { + quality: Quality { + name: "\nEPUB".to_owned(), + }, + }, + date: Utc::now(), + data: readarr_history_data(), + } + } + + fn readarr_history_data() -> ReadarrHistoryData { + ReadarrHistoryData { + indexer: Some("\nTest Indexer".to_owned()), + release_group: Some("\nTest Release Group".to_owned()), + nzb_info_url: Some("\nhttps://test.url".to_owned()), + download_client_name: Some("\nTest Download Client".to_owned()), + download_client: Some("\nFallback Download Client".to_owned()), + age: Some("\n7".to_owned()), + published_date: Some(Utc::now()), + message: Some("\nTest failure message".to_owned()), + reason: Some("\nTest deletion reason".to_owned()), + dropped_path: Some("\n/downloads/completed/book".to_owned()), + imported_path: Some("\n/books/author/book".to_owned()), + source_path: Some("\n/books/author/old_book_name".to_owned()), + path: Some("\n/books/author/new_book_name".to_owned()), + status_messages: Some("\nMissing chapters: 1, 2, 3".to_owned()), + } + } +}