use crate::cron_builder::get_cron_builder;
use deschuler::cron_builder::utils::{every, nth_occurrence};
#[test]
fn every_second_week_on_mon_and_fri() {
let mut cron_builder = get_cron_builder();
cron_builder.day_of_week("1,5".to_string());
let cron = cron_builder.build().unwrap();
let actual = cron.pattern.to_string();
let expected = "* * * * * 1,5";
assert_eq!(actual, expected);
}
#[test]
fn every_3rd_month_on_the_10th() {
let mut cron_builder = get_cron_builder();
cron_builder.month(every("3"));
cron_builder.day_of_month("10".to_string());
let cron = cron_builder.build().unwrap();
let actual = cron.pattern.to_string();
let expected = "* * * 10 */3 *";
assert_eq!(actual, expected);
}
#[test]
fn every_3rd_month_on_the_second_monday() {
let mut cron_builder = get_cron_builder();
cron_builder.month(every("3"));
cron_builder.day_of_week(nth_occurrence("1", 2));
let cron = cron_builder.build().unwrap();
let actual = cron.pattern.to_string();
let expected = "* * * * */3 1#2";
assert_eq!(actual, expected);
}
#[test]
fn every_aug_jan() {
let mut cron_builder = get_cron_builder();
cron_builder.month("1,8".to_string());
let cron = cron_builder.build().unwrap();
let actual = cron.pattern.to_string();
let expected = "* * * * 1,8 *";
assert_eq!(actual, expected);
}