feat: CLI support for searching for discography releases in Lidarr
This commit is contained in:
1 parent
d7f0dd5950
commit
8dfa664a06
13 files changed
+445
-10
No files matched your search
@@ -8,7 +8,7 @@ use crate::app::context_clues::{
|
||||
use crate::app::lidarr::lidarr_context_clues::{
|
||||
ARTIST_DETAILS_CONTEXT_CLUES, ARTIST_HISTORY_CONTEXT_CLUES, ARTISTS_CONTEXT_CLUES,
|
||||
};
|
||||
use crate::models::lidarr_models::LidarrTask;
|
||||
use crate::models::lidarr_models::{LidarrRelease, LidarrTask};
|
||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||
use crate::models::servarr_models::{IndexerSettings, QueueEvent};
|
||||
use crate::models::stateful_list::StatefulList;
|
||||
@@ -35,6 +35,9 @@ use {
|
||||
metadata_profile, metadata_profile_map, quality_profile, root_folder, tags_map,
|
||||
},
|
||||
crate::network::lidarr_network::lidarr_network_test_utils::test_utils::{log_line, task},
|
||||
crate::network::lidarr_network::lidarr_network_test_utils::test_utils::{
|
||||
torrent_release, usenet_release,
|
||||
},
|
||||
crate::network::servarr_test_utils::diskspace,
|
||||
crate::network::servarr_test_utils::indexer_test_result,
|
||||
crate::network::servarr_test_utils::queued_event,
|
||||
@@ -58,6 +61,7 @@ pub struct LidarrData<'a> {
|
||||
pub artist_info_tabs: TabState,
|
||||
pub artists: StatefulTable<Artist>,
|
||||
pub delete_files: bool,
|
||||
pub discography_releases: StatefulTable<LidarrRelease>,
|
||||
pub disk_space_vec: Vec<DiskSpace>,
|
||||
pub downloads: StatefulTable<DownloadRecord>,
|
||||
pub edit_artist_modal: Option<EditArtistModal>,
|
||||
@@ -92,6 +96,7 @@ impl LidarrData<'_> {
|
||||
|
||||
pub fn reset_artist_info_tabs(&mut self) {
|
||||
self.albums = StatefulTable::default();
|
||||
self.discography_releases = StatefulTable::default();
|
||||
self.artist_history = None;
|
||||
self.artist_info_tabs.index = 0;
|
||||
}
|
||||
@@ -140,6 +145,7 @@ impl<'a> Default for LidarrData<'a> {
|
||||
artist_history: None,
|
||||
artists: StatefulTable::default(),
|
||||
delete_files: false,
|
||||
discography_releases: StatefulTable::default(),
|
||||
disk_space_vec: Vec::new(),
|
||||
downloads: StatefulTable::default(),
|
||||
edit_artist_modal: None,
|
||||
@@ -333,6 +339,12 @@ impl LidarrData<'_> {
|
||||
}]);
|
||||
lidarr_data.history.search = Some("test search".into());
|
||||
lidarr_data.history.filter = Some("test filter".into());
|
||||
lidarr_data
|
||||
.discography_releases
|
||||
.set_items(vec![torrent_release(), usenet_release()]);
|
||||
lidarr_data
|
||||
.discography_releases
|
||||
.sorting(vec![sort_option!(indexer_id)]);
|
||||
lidarr_data.root_folders.set_items(vec![root_folder()]);
|
||||
lidarr_data.indexers.set_items(vec![indexer()]);
|
||||
lidarr_data.queued_events.set_items(vec![queued_event()]);
|
||||
|
||||
@@ -7,7 +7,7 @@ mod tests {
|
||||
use crate::app::lidarr::lidarr_context_clues::{
|
||||
ARTIST_DETAILS_CONTEXT_CLUES, ARTIST_HISTORY_CONTEXT_CLUES, ARTISTS_CONTEXT_CLUES,
|
||||
};
|
||||
use crate::models::lidarr_models::Album;
|
||||
use crate::models::lidarr_models::{Album, LidarrRelease};
|
||||
use crate::models::servarr_data::lidarr::lidarr_data::{
|
||||
ADD_ARTIST_BLOCKS, ADD_ARTIST_SELECTION_BLOCKS, ADD_ROOT_FOLDER_BLOCKS, ARTIST_DETAILS_BLOCKS,
|
||||
DELETE_ALBUM_BLOCKS, DELETE_ALBUM_SELECTION_BLOCKS, DELETE_ARTIST_BLOCKS,
|
||||
@@ -60,12 +60,16 @@ mod tests {
|
||||
fn test_reset_artist_info_tabs() {
|
||||
let mut lidarr_data = LidarrData::default();
|
||||
lidarr_data.albums.set_items(vec![Album::default()]);
|
||||
lidarr_data
|
||||
.discography_releases
|
||||
.set_items(vec![LidarrRelease::default()]);
|
||||
lidarr_data.artist_history = Some(StatefulTable::default());
|
||||
lidarr_data.artist_info_tabs.index = 1;
|
||||
|
||||
lidarr_data.reset_artist_info_tabs();
|
||||
|
||||
assert_is_empty!(lidarr_data.albums);
|
||||
assert_is_empty!(lidarr_data.discography_releases);
|
||||
assert_none!(lidarr_data.artist_history);
|
||||
assert_eq!(lidarr_data.artist_info_tabs.index, 0);
|
||||
}
|
||||
@@ -146,6 +150,7 @@ mod tests {
|
||||
assert_is_empty!(lidarr_data.downloads);
|
||||
assert_none!(lidarr_data.edit_artist_modal);
|
||||
assert_none!(lidarr_data.add_root_folder_modal);
|
||||
assert_is_empty!(lidarr_data.discography_releases);
|
||||
assert_is_empty!(lidarr_data.history);
|
||||
assert_is_empty!(lidarr_data.logs);
|
||||
assert_is_empty!(lidarr_data.log_details);
|
||||
|
||||
Reference in new issue
Block a user