start adding tests

This commit is contained in:
Greg Shuflin 2025-02-05 04:37:13 -08:00
parent d367825849
commit 7b939cfd8f

View File

@ -293,3 +293,31 @@ pub async fn get_feed(
categorization, categorization,
})) }))
} }
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_feed_new() {
let name = "Test Feed".to_string();
let url = Url::parse("https://example.com/feed.xml").unwrap();
let user_id = Uuid::new_v4();
let feed = Feed::new(name.clone(), url.clone(), user_id);
assert_eq!(feed.name, name);
assert_eq!(feed.url, url);
assert_eq!(feed.user_id, user_id);
assert_eq!(feed.categorization, Vec::<String>::new());
assert_eq!(feed.last_checked_time, chrono::DateTime::UNIX_EPOCH);
// Feed ID should be a valid UUID
assert!(feed.feed_id.to_string().len() == 36); // UUID string length
// Added time should be recent (within last few seconds)
let now = chrono::Utc::now();
let time_diff = now - feed.added_time;
assert!(time_diff.num_seconds().abs() < 5); // Allow 5 second difference
}
}