add integration tests for all 6 FillStrategy variants, role filter on LibrarySearchFilter

This commit is contained in:
2026-07-12 14:02:45 +02:00
parent de7f3092d2
commit 8e4f724562
4 changed files with 303 additions and 1 deletions

View File

@@ -1,4 +1,4 @@
use crate::value_objects::ContentType;
use crate::value_objects::{ContentType, MediaRole};
const DEFAULT_SEARCH_LIMIT: u32 = 50;
@@ -14,6 +14,7 @@ pub struct LibrarySearchFilter {
max_duration_secs: Option<u32>,
search_term: Option<String>,
season_number: Option<u32>,
role: Option<MediaRole>,
offset: u32,
limit: u32,
}
@@ -63,6 +64,10 @@ impl LibrarySearchFilter {
self.season_number = Some(n);
self
}
pub fn with_role(mut self, role: MediaRole) -> Self {
self.role = Some(role);
self
}
pub fn with_offset(mut self, offset: u32) -> Self {
self.offset = offset;
self
@@ -102,6 +107,9 @@ impl LibrarySearchFilter {
pub fn season_number(&self) -> Option<u32> {
self.season_number
}
pub fn role(&self) -> Option<&MediaRole> {
self.role.as_ref()
}
pub fn offset(&self) -> u32 {
self.offset
}
@@ -123,6 +131,7 @@ impl Default for LibrarySearchFilter {
max_duration_secs: None,
search_term: None,
season_number: None,
role: None,
offset: 0,
limit: DEFAULT_SEARCH_LIMIT,
}