feat: CLI support for listing artists

This commit is contained in:
2026-01-05 10:58:48 -07:00
parent 368f7505ff
commit 5d09b2402c
14 changed files with 405 additions and 15 deletions
@@ -0,0 +1,28 @@
use strum::EnumIter;
#[cfg(test)]
use strum::{Display, EnumString};
use crate::models::Route;
#[cfg(test)]
#[path = "lidarr_data_tests.rs"]
mod lidarr_data_tests;
#[derive(Clone, Copy, PartialEq, Eq, Debug, Default, EnumIter)]
#[cfg_attr(test, derive(Display, EnumString))]
pub enum ActiveLidarrBlock {
#[default]
Artists,
}
impl From<ActiveLidarrBlock> for Route {
fn from(active_lidarr_block: ActiveLidarrBlock) -> Route {
Route::Lidarr(active_lidarr_block, None)
}
}
impl From<(ActiveLidarrBlock, Option<ActiveLidarrBlock>)> for Route {
fn from(value: (ActiveLidarrBlock, Option<ActiveLidarrBlock>)) -> Route {
Route::Lidarr(value.0, value.1)
}
}
@@ -0,0 +1,22 @@
#[cfg(test)]
mod tests {
use pretty_assertions::assert_eq;
use crate::models::{servarr_data::lidarr::lidarr_data::ActiveLidarrBlock, Route};
#[test]
fn test_from_active_lidarr_block_to_route() {
assert_eq!(
Route::from(ActiveLidarrBlock::Artists),
Route::Lidarr(ActiveLidarrBlock::Artists, None)
);
}
#[test]
fn test_from_tuple_to_route_with_context() {
assert_eq!(
Route::from((ActiveLidarrBlock::Artists, Some(ActiveLidarrBlock::Artists))),
Route::Lidarr(ActiveLidarrBlock::Artists, Some(ActiveLidarrBlock::Artists),)
);
}
}
+1
View File
@@ -0,0 +1 @@
pub mod lidarr_data;