mod common;
mod free_games;
mod games;
mod steam_daily;
use std::sync::Arc;
use crate::fetcher::Fetcher;
pub fn fetchers() -> Vec<Arc<dyn Fetcher>> {
vec![
Arc::new(free_games::FreeGamesFetcher),
Arc::new(steam_daily::SteamDailyFetcher),
Arc::new(games::GamesFetcher),
]
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn fetchers_entry_point_registers_the_batch_under_deal_prefix() {
let names: Vec<String> = fetchers().iter().map(|f| f.name().to_string()).collect();
assert!(names.contains(&"deal_free_games".to_string()));
assert!(names.contains(&"deal_steam_daily".to_string()));
assert!(names.contains(&"deal_games".to_string()));
for name in &names {
assert!(
name.starts_with("deal_"),
"{name} must use the `deal_` family prefix"
);
}
}
}