feat: Full CLI and TUI support for the Lidarr Indexers tab
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
|
||||
use crate::models::servarr_models::IndexerSettings;
|
||||
use crate::models::servarr_models::{EditIndexerParams, Indexer, IndexerTestResult};
|
||||
use crate::models::sonarr_models::IndexerSettings;
|
||||
use crate::models::stateful_table::StatefulTable;
|
||||
use crate::network::sonarr_network::SonarrEvent;
|
||||
use crate::network::{Network, RequestMethod};
|
||||
|
||||
@@ -6,10 +6,9 @@ mod tests {
|
||||
use crate::models::sonarr_models::SonarrSerdeable;
|
||||
use crate::network::NetworkResource;
|
||||
use crate::network::network_tests::test_utils::{MockServarrApi, test_network};
|
||||
use crate::network::servarr_test_utils::indexer_settings;
|
||||
use crate::network::sonarr_network::SonarrEvent;
|
||||
use crate::network::sonarr_network::sonarr_network_test_utils::test_utils::{
|
||||
indexer, indexer_settings,
|
||||
};
|
||||
use crate::network::sonarr_network::sonarr_network_test_utils::test_utils::indexer;
|
||||
use bimap::BiMap;
|
||||
use mockito::Matcher;
|
||||
use pretty_assertions::assert_eq;
|
||||
@@ -31,11 +30,10 @@ mod tests {
|
||||
app.lock().await.server_tabs.next();
|
||||
let mut network = test_network(&app);
|
||||
|
||||
assert!(
|
||||
assert_ok!(
|
||||
network
|
||||
.handle_sonarr_event(SonarrEvent::DeleteIndexer(1))
|
||||
.await
|
||||
.is_ok()
|
||||
);
|
||||
|
||||
mock.assert_async().await;
|
||||
@@ -58,11 +56,10 @@ mod tests {
|
||||
app.lock().await.server_tabs.next();
|
||||
let mut network = test_network(&app);
|
||||
|
||||
assert!(
|
||||
assert_ok!(
|
||||
network
|
||||
.handle_sonarr_event(SonarrEvent::EditAllIndexerSettings(indexer_settings()))
|
||||
.await
|
||||
.is_ok()
|
||||
);
|
||||
|
||||
mock.assert_async().await;
|
||||
@@ -153,11 +150,10 @@ mod tests {
|
||||
app.lock().await.server_tabs.next();
|
||||
let mut network = test_network(&app);
|
||||
|
||||
assert!(
|
||||
assert_ok!(
|
||||
network
|
||||
.handle_sonarr_event(SonarrEvent::EditIndexer(expected_edit_indexer_params))
|
||||
.await
|
||||
.is_ok()
|
||||
);
|
||||
|
||||
mock_details_server.assert_async().await;
|
||||
@@ -248,11 +244,10 @@ mod tests {
|
||||
app.lock().await.server_tabs.next();
|
||||
let mut network = test_network(&app);
|
||||
|
||||
assert!(
|
||||
assert_ok!(
|
||||
network
|
||||
.handle_sonarr_event(SonarrEvent::EditIndexer(expected_edit_indexer_params))
|
||||
.await
|
||||
.is_ok()
|
||||
);
|
||||
|
||||
mock_details_server.assert_async().await;
|
||||
@@ -338,11 +333,10 @@ mod tests {
|
||||
app.lock().await.server_tabs.next();
|
||||
let mut network = test_network(&app);
|
||||
|
||||
assert!(
|
||||
assert_ok!(
|
||||
network
|
||||
.handle_sonarr_event(SonarrEvent::EditIndexer(expected_edit_indexer_params))
|
||||
.await
|
||||
.is_ok()
|
||||
);
|
||||
|
||||
mock_details_server.assert_async().await;
|
||||
@@ -435,11 +429,10 @@ mod tests {
|
||||
app.lock().await.server_tabs.next();
|
||||
let mut network = test_network(&app);
|
||||
|
||||
assert!(
|
||||
assert_ok!(
|
||||
network
|
||||
.handle_sonarr_event(SonarrEvent::EditIndexer(expected_edit_indexer_params))
|
||||
.await
|
||||
.is_ok()
|
||||
);
|
||||
|
||||
mock_details_server.assert_async().await;
|
||||
@@ -497,11 +490,10 @@ mod tests {
|
||||
app.lock().await.server_tabs.next();
|
||||
let mut network = test_network(&app);
|
||||
|
||||
assert!(
|
||||
assert_ok!(
|
||||
network
|
||||
.handle_sonarr_event(SonarrEvent::EditIndexer(edit_indexer_params))
|
||||
.await
|
||||
.is_ok()
|
||||
);
|
||||
|
||||
mock_details_server.assert_async().await;
|
||||
@@ -584,11 +576,10 @@ mod tests {
|
||||
app.lock().await.server_tabs.next();
|
||||
let mut network = test_network(&app);
|
||||
|
||||
assert!(
|
||||
assert_ok!(
|
||||
network
|
||||
.handle_sonarr_event(SonarrEvent::EditIndexer(edit_indexer_params))
|
||||
.await
|
||||
.is_ok()
|
||||
);
|
||||
|
||||
async_details_server.assert_async().await;
|
||||
@@ -642,6 +633,7 @@ mod tests {
|
||||
else {
|
||||
panic!("Expected Indexers")
|
||||
};
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert_eq!(
|
||||
app.lock().await.data.sonarr_data.indexers.items,
|
||||
@@ -714,6 +706,7 @@ mod tests {
|
||||
else {
|
||||
panic!("Expected Value")
|
||||
};
|
||||
|
||||
async_details_server.assert_async().await;
|
||||
async_test_server.assert_async().await;
|
||||
assert_eq!(
|
||||
@@ -780,6 +773,7 @@ mod tests {
|
||||
else {
|
||||
panic!("Expected Value")
|
||||
};
|
||||
|
||||
async_details_server.assert_async().await;
|
||||
async_test_server.assert_async().await;
|
||||
assert_eq!(
|
||||
@@ -860,16 +854,9 @@ mod tests {
|
||||
else {
|
||||
panic!("Expected IndexerTestResults")
|
||||
};
|
||||
|
||||
async_server.assert_async().await;
|
||||
assert!(
|
||||
app
|
||||
.lock()
|
||||
.await
|
||||
.data
|
||||
.sonarr_data
|
||||
.indexer_test_all_results
|
||||
.is_some()
|
||||
);
|
||||
assert_some!(&app.lock().await.data.sonarr_data.indexer_test_all_results);
|
||||
assert_eq!(
|
||||
app
|
||||
.lock()
|
||||
|
||||
@@ -5,10 +5,12 @@ use serde_json::{Value, json};
|
||||
use super::{Network, NetworkEvent, NetworkResource};
|
||||
use crate::{
|
||||
models::{
|
||||
servarr_models::{AddRootFolderBody, EditIndexerParams, Language, QualityProfile, Tag},
|
||||
servarr_models::{
|
||||
AddRootFolderBody, EditIndexerParams, IndexerSettings, Language, QualityProfile, Tag,
|
||||
},
|
||||
sonarr_models::{
|
||||
AddSeriesBody, DeleteSeriesParams, EditSeriesParams, IndexerSettings,
|
||||
SonarrReleaseDownloadBody, SonarrSerdeable, SonarrTaskName,
|
||||
AddSeriesBody, DeleteSeriesParams, EditSeriesParams, SonarrReleaseDownloadBody,
|
||||
SonarrSerdeable, SonarrTaskName,
|
||||
},
|
||||
},
|
||||
network::RequestMethod,
|
||||
|
||||
@@ -5,10 +5,9 @@ pub mod test_utils {
|
||||
};
|
||||
use crate::models::sonarr_models::{
|
||||
AddSeriesSearchResult, AddSeriesSearchResultStatistics, BlocklistItem, DownloadRecord,
|
||||
DownloadStatus, DownloadsResponse, Episode, EpisodeFile, IndexerSettings, MediaInfo, Rating,
|
||||
Season, SeasonStatistics, Series, SeriesStatistics, SeriesStatus, SeriesType,
|
||||
SonarrHistoryData, SonarrHistoryEventType, SonarrHistoryItem, SonarrRelease, SonarrTask,
|
||||
SonarrTaskName,
|
||||
DownloadStatus, DownloadsResponse, Episode, EpisodeFile, MediaInfo, Rating, Season,
|
||||
SeasonStatistics, Series, SeriesStatistics, SeriesStatus, SeriesType, SonarrHistoryData,
|
||||
SonarrHistoryEventType, SonarrHistoryItem, SonarrRelease, SonarrTask, SonarrTaskName,
|
||||
};
|
||||
use crate::models::{HorizontallyScrollableText, ScrollableText};
|
||||
use bimap::BiMap;
|
||||
@@ -250,16 +249,6 @@ pub mod test_utils {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn indexer_settings() -> IndexerSettings {
|
||||
IndexerSettings {
|
||||
id: 1,
|
||||
minimum_age: 1,
|
||||
retention: 1,
|
||||
maximum_size: 12345,
|
||||
rss_sync_interval: 60,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn language() -> Language {
|
||||
Language {
|
||||
id: 1,
|
||||
|
||||
@@ -3,11 +3,9 @@ mod test {
|
||||
use crate::app::App;
|
||||
use crate::models::servarr_data::sonarr::modals::AddSeriesModal;
|
||||
use crate::models::servarr_models::{
|
||||
AddRootFolderBody, EditIndexerParams, Language, QualityProfile, Tag,
|
||||
};
|
||||
use crate::models::sonarr_models::{
|
||||
AddSeriesBody, EditSeriesParams, IndexerSettings, SonarrTaskName,
|
||||
AddRootFolderBody, EditIndexerParams, IndexerSettings, Language, QualityProfile, Tag,
|
||||
};
|
||||
use crate::models::sonarr_models::{AddSeriesBody, EditSeriesParams, SonarrTaskName};
|
||||
use crate::models::sonarr_models::{DeleteSeriesParams, SonarrSerdeable};
|
||||
use crate::network::network_tests::test_utils::{MockServarrApi, test_network};
|
||||
use crate::network::sonarr_network::sonarr_network_test_utils::test_utils::tag;
|
||||
|
||||
Reference in New Issue
Block a user