fix(ui): Fix the System Details Tasks popup to be navigable in both Sonarr and Radarr

This commit is contained in:
2024-12-05 11:45:46 -07:00
parent 00cdeee5c6
commit 678bc77a23
4 changed files with 45 additions and 2 deletions
@@ -44,6 +44,7 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for SystemDetailsHandler
fn is_ready(&self) -> bool {
!self.app.is_loading
&& (!self.app.data.radarr_data.log_details.is_empty()
|| !self.app.data.radarr_data.tasks.is_empty()
|| !self.app.data.radarr_data.updates.is_empty())
}
@@ -944,7 +944,7 @@ mod tests {
}
#[test]
fn test_system_details_handler_not_ready_when_both_log_details_and_updates_are_empty() {
fn test_system_details_handler_not_ready_when_log_details_and_updates_and_tasks_are_empty() {
let mut app = App::default();
app.is_loading = false;
@@ -978,6 +978,26 @@ mod tests {
assert!(handler.is_ready());
}
#[test]
fn test_system_details_handler_ready_when_not_loading_and_tasks_is_not_empty() {
let mut app = App::default();
app.is_loading = false;
app
.data
.radarr_data
.tasks
.set_items(vec![RadarrTask::default()]);
let handler = SystemDetailsHandler::with(
DEFAULT_KEYBINDINGS.esc.key,
&mut app,
ActiveRadarrBlock::SystemTasks,
None,
);
assert!(handler.is_ready());
}
#[test]
fn test_system_details_handler_ready_when_not_loading_and_updates_is_not_empty() {
let mut app = App::default();
@@ -44,6 +44,7 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for SystemDetailsHandler
fn is_ready(&self) -> bool {
!self.app.is_loading
&& (!self.app.data.sonarr_data.log_details.is_empty()
|| !self.app.data.sonarr_data.tasks.is_empty()
|| !self.app.data.sonarr_data.updates.is_empty())
}
@@ -965,7 +965,7 @@ mod tests {
}
#[test]
fn test_system_details_handler_not_ready_when_both_log_details_and_updates_are_empty() {
fn test_system_details_handler_not_ready_when_log_details_and_updates_and_tasks_are_empty() {
let mut app = App::default();
app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = false;
@@ -1001,6 +1001,27 @@ mod tests {
assert!(handler.is_ready());
}
#[test]
fn test_system_details_handler_ready_when_not_loading_and_tasks_is_not_empty() {
let mut app = App::default();
app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = false;
app
.data
.sonarr_data
.tasks
.set_items(vec![SonarrTask::default()]);
let handler = SystemDetailsHandler::with(
DEFAULT_KEYBINDINGS.esc.key,
&mut app,
ActiveSonarrBlock::SystemTasks,
None,
);
assert!(handler.is_ready());
}
#[test]
fn test_system_details_handler_ready_when_not_loading_and_updates_is_not_empty() {
let mut app = App::default();