start adding tests
This commit is contained in:
parent
d367825849
commit
7b939cfd8f
28
src/feeds.rs
28
src/feeds.rs
@ -293,3 +293,31 @@ pub async fn get_feed(
|
||||
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
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user